Linux中限制服务如mysql的最大cpu使用率

devtools/2025/1/15 16:09:13/

1、cpu占用测试:

DELIMITER //
DROP PROCEDURE IF EXISTS intensive_calculations;
CREATE PROCEDURE intensive_calculations()
BEGINDECLARE v INT DEFAULT 0;DECLARE i INT DEFAULT 0;WHILE i < 1000000 DOSET v = SQRT(i * i + (RAND() * 10000));SET i = i + 1;END WHILE;
END//
DELIMITER ;

2、开两个窗口执行下函数即可看到cpu目前的占比是比较高的

CALL intensive_calculations();

3、编辑服务

vi /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL database server
After=network.target[Service]
Type=forking
ExecStart=/etc/init.d/mysql.server start
ExecStop=/etc/init.d/mysql.server stop
ExecReload=/etc/init.d/mysql.server reload
PIDFile=/var/run/mysqld/mysqld.pid
User=mysql
Group=mysql
EnvironmentFile=-/etc/sysconfig/mysql
#限制cpu使用率,单位为全部cpu的总占比,如8核的80%需要设为640%
CPUQuota=120%
#限制使用cpu时间,单位默认s
#LimitCPU=60[Install]
WantedBy=multi-user.target

4、启动服务:

systemctl daemon-reload
systemctl stop mysqld
systemctl start mysqld
systemctl status mysqld

5、再次执行下刚才的函数,可以看到cpu被限制到了指定的比率(我设的80)。

在这里插入图片描述

mysqlInnodb_log_waits0_57">mysql中Innodb_log_waits大于0的问题。

-- 全局变量
SHOW GLOBAL STATUS LIKE 'Innodb_log_waits';
SHOW GLOBAL STATUS;
-- 系统变量
SHOW VARIABLES LIKE 'innodb_log%';

Innodb_log_waits 是 MySQL 中的一个状态变量,指示 InnoDB 存储引擎在写入重做日志时发生的等待次数。具体来说,它表示在日志写入操作期间,系统等待的次数。这通常反映了 InnoDB 在处理日志的过程中可能遇到的瓶颈或性能问题。

含义
日志写入等待:当 InnoDB 引擎写入重做日志时,可能因为 I/O 操作的延迟、日志缓冲区的填满或锁竞争等因素,导致需要等待。
性能指标:Innodb_log_waits 的值增加通常表示日志写入的性能可能受到影响,系统可能正在经历 I/O 负载或资源竞争问题。
监控和优化
监控:通过定期监控 Innodb_log_waits 的值,可以识别日志写入的潜在瓶颈。
优化:可以考虑优化日志设置(如调整 innodb_log_file_size 和 innodb_log_buffer_size),提升存储性能,或减少系统负载,以降低等待次数。
总之,Innodb_log_waits 是评估日志写入性能的一个重要指标,了解其含义有助于优化数据库性能。

mysql57默认值
innodb_log_buffer_size=16M
innodb_log_file_size=48M

innodb_log_buffer_size 参数定义了 InnoDB 用于缓存重做日志记录的内存缓冲区大小。当事务提交时,重做日志记录首先写入到这个缓冲区中,然后异步地写入到重做日志文件中。

一般建议:
对于中小型数据库,可以将 innodb_log_buffer_size 设置为 8MB 到 64MB。
对于大型数据库,尤其是那些有大量的并发写操作的数据库,可以将 innodb_log_buffer_size 设置得更高,例如 128MB 到 256MB 甚至更大。
调整原则:
如果事务提交频繁,但每个事务的写入量不大,那么可以适当增加 innodb_log_buffer_size,以便在事务提交时能够容纳更多的日志记录。
如果事务提交相对较少,但每个事务的写入量较大,同样需要增加 innodb_log_buffer_size,以避免频繁地将缓冲区中的日志记录写入磁盘。

innodb_log_file_size 定义了每个重做日志文件的大小。增加这个参数可以减少日志文件的切换频率,从而提高性能。

一般建议:
对于中小型数据库,每个重做日志文件大小可以设置为 128MB 到 512MB。
对于大型数据库,尤其是那些需要处理大量写操作的数据库,可以将每个重做日志文件的大小设置为 1GB 到 2GB 甚至更大。
调整原则:
如果你的应用程序有大量的并发写操作,那么增加 innodb_log_file_size 可以减少日志文件切换的开销,从而提高性能。
如果磁盘 I/O 是瓶颈,那么增加 innodb_log_file_size 可以减少磁盘 I/O 操作的频率。

mysql配置文件中修改:

innodb_log_file_size = 1G
innodb_log_buffer_size = 128M

保存后重启mysql服务生效。


http://www.ppmy.cn/devtools/110963.html

相关文章

Gradle和Maven

Gradle 和 Maven 都是 Java 生态中常用的构建工具&#xff0c;用于管理项目的编译、测试、依赖管理和打包等任务。两者在很多方面有相似之处&#xff0c;但也有显著的不同&#xff0c;选择使用哪个工具通常取决于项目的具体需求和团队的偏好。 Gradle 与 Maven 的比较 特性Gr…

基于SSM的二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的二手物品交易管理系统7拥有两种角色 管理员&#xff1a;用户管理、分类管理、商品管理、订单管理、系统管理等 用户&#xff1a;登录注册、充值、收货、评价、收藏、购物车、订…

Leetcode面试经典150题-162.寻找峰值

解法都在代码里&#xff0c;不懂就留言或者私信 想清楚的话会特别简单&#xff0c;你可能想不到这是个二分。。。 class Solution {/**本题题目规定我们只能用O(logN)的时间复杂度来解题&#xff0c;这显然就是让二分嘛而题目给的数组本身是无需&#xff0c;怎么二分呢其实我…

PHP-SER-libs靶场通关(1-9)

一.第一关&#xff08;基础序列化&#xff09; <?php highlight_file(__FILE__); class a{var $act;function action(){eval($this->act);} } $aunserialize($_GET[flag]); $a->action(); ?> 一个很基础的反序列过程 对输入的flag进行反序列化&#xff0c;再…

OpenCV结构分析与形状描述符(9)检测轮廓相对于其凸包的凹陷缺陷函数convexityDefects()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 查找一个轮廓的凸性缺陷。 下图显示了一个手部轮廓的凸性缺陷&#xff1a; convexityDefects 是 OpenCV 库中的一个函数&#xff0c;用于检测轮…

本地部署Llama 3.1大模型

Meta推出的Llama 3.1系列包括80亿、700亿、4050亿参数版本&#xff0c;上下文长度扩展至12.8万tokens&#xff0c;并增加了对八种语言的支持。 部署模型需要用到Ollama的一个工具&#xff0c;访问官方网站https://ollama.com 点击下载&#xff0c;选择下载你对应的操作系统下…

The Linux Command Line中文版阅读——1-3章

文章目录 参考资料第一章&#xff1a;引言1.1 为什么使用命令行1.2 这本书讲什么1.4 这本书的内容 第二章&#xff1a;什么是shell2.1 终端仿真器2.2 第一次按键2.3 命令历史2.4 移动光标2.5 关于鼠标和光标2.6 试试运行一些简单命令2.7 结束终端会话 第三章&#xff1a;文件系…

百度视频排名代发(百度视频秒收录代发)

百度视频排名代发(百度视频秒收录代发) 代做灰色关键词百度排名&#xff08;代发百度灰色词外推&#xff09;#百度推广#关键词排名#灰色词排名 推荐阅读&#xff1a; 百家号图文排名代发&#xff1a;文章客服系统挂载电话https://www.bsw80.com/post/471.html 很多老板表示想…