
如图示:
PS: vmstat(Virtual Memory Statistics 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态
发现奇葩的的--r值:这个高!!!
PS:
r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)
正常的情况下的r值是:
可能有异常的情况很多的进程一直在创建
因为公司的业务又使用的一些定时的任务,定时执行一些服务。所有核查一下一些进程信息:
果然是这一推的进程在作祟!!!!!
直接结束上述的相关进程后,就好了!!
批量删除对应的进程:
批量删除示例:
说明:
“grep xxxx”的输出结果是,所有含有关键字“remind_service”的进程。
“grep -v xxxxx”是在列出的进程中去除含有关键字“color”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。
排查了下,不知道为啥定时执行的任务不断执行创建了!这个目前暂时还不是很清楚!
客户现场遇到mongodb cpu偶发性占用过高问题,配置16c16g,装了mysql,mongo,influxdb,java等应用,观察到mongodb在更新数据的时候很慢,几秒甚至几十秒。通过vmstat 1 10发现bi很高达到2w,
top展开cpu发现有几个cpu的%wa经常在100%,初步判断硬盘负载很高,
用iostat -x 1 10果然硬盘%util达到100%了
iotop发现mysqld占用大量的io
看mysql的日志,发现有超时查询,加完索引后,系统正常。
回头看mongodb的查询慢、偶发性占用cpu 1600%只是表象,因为mongodb需要往硬盘写数据,这个时候硬盘被mysql占用,导致mongodb线程只能等io,mongodb写硬盘的请求积累,cpu也没释放,故cpu占用率高。
load负载和cpu之间关系:
参考: https://www.cnblogs.com/zhangyjblogs/p/14163576.html
宝塔Linux面板作为一款Linux服务器的入门级面板,一向以简洁,实用,方便的功能深得大众SEO站长的芳心。它不但可以 通过WEB管理页面对服务器进行管理,并且还可以一键部署LNMP与LAMP建站环境,同时对服务器进行实时监控,防火墙,部署SSL证书,服务器文件在线管理等 *** 作 ,而且宝塔Linux面板目前现有的各种免费的功能几乎能满足大多数SEO站长的需求,还有更多实用的功能可以通过付费使用。
但是前段时间阿南发现宝塔Linux面板偶尔出现CPU负载状态过高,导致站点加载速度时间过长,,给大家的浏览体验带来了一定的影响。后来阿南在网上查阅相关资料发现解决问题的方法五花八门,各种各样的说法都有,让你无从下手。最后还是通过某位服务器运维的大牛指点,才把这个问题解决,并且得到了反馈很好。接下来阿南就把这个方法分享出来,希望能够帮助到各位站长。
阿南的云服务器安装的是宝塔Linux面板, 建站环境所使用的是LNMP,Nginx 1.15、MySQL 5.5、PHP-7.2 ,基本情况了解了下面直接看 *** 作。首页,进入php7.2的管理页面,选择安装一个opcache缓冲器,用于加速PHP脚本,如下图:
接着在配置修改选择 将最大脚本运行时间修改为60,最后将并发方案设为30并发 ( 注意 :宝塔面板通常会自动根据你的服务器配置给你设置合适的并发,如果你觉得不够用可以自己设置),接着在性能调整中将最大空闲进程数设置为20。如下图:
按照以上这个方法优化,阿南的云服务器发现并没有出现CPU负载状态过高了,也就是说这个方法是非常有效的。但是,对于服务器这块阿南并不是专业的,所以不能够保证这个方法对于大家都是有效的,如果此方法效果不明显建议大家可以通过升级服务器配置解决此问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)