1. linux cpu占用较高
Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行; CPU利用率。根据经验来看,用户空间进程占用CPU比例在 65-70%。一般不能超过这个比例,超过这个比例,系统性能就会降低,平均负载升高,这点将会在下面的测试中看到。
进程上下文切换。上下文切换和CPU利用率应该联系起来,如果CPU利用率低,那么上下文切换稍高点也能接受。上下文切换也是需要消耗CPU资源的,频繁的切换必将使得CPU利用率升高。
运行队列中等待运行的进程数。每个CPU核心中等待处理的进程数不应该超过3个线程/进程。如4核心的机器,那么队列的最大值应该不超过12个。
对于CPU过载问题通常使用以下两种方式即可快速定位(不能涵盖所有特殊情况,请作为其中的参考排查思路):
一、排查分析
方法一(针对java应用):
第一步:使用
top命令,然后按shift+p按照CPU排序
找到占用CPU过高的进程的pid
第二步:使用
top -H -p [进程id]
找到进程中消耗资源最高的线程的id
第三步:使用
echo 'obase=16;[线程id]' | bc或者printf "%x\n" [线程id]
将线程id转换为16进制(字母要小写)
bc是linux的计算器命令
第四步(此步骤可以和相对应的java开发进行一起排查):执行
jstack [进程id] |grep -A 10 [线程id的16进制]”
查看线程状态信息
二、kswapd0 进程占用 CPU 较高
操作系统都用分页机制来管理物理内存,操作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以操作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中,由于内存持续不足,这个换页动作持续进行,kswapd0 是虚拟内存管理中负责换页的,当服务器内存不足的时候 kswapd0 会执行换页操作,这个换页操作是十分消耗主机 CPU 资源的。如果通过 top 发现该进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页操作,可以将问题转向内存不足的原因来排查。
2. 为什么linux CPU使用率超过100%,如图:红框所示,加起来已经为103%了,系统CPU是多内核的。
和睿频没有关系。。。
Linux 的CPU占用率是按照单核心计算的,如果该进程支持多线程,就回可以占用多个核心,单个答进程超过100%也是很正常的事。但如果服务器本身没什么负载,单进程或很多进程CPU占用率超过100%就需要查看原因了。图中的情况看起来并没有太大问题,而且你抹去了进程命令信息。
3. linux中为什么cpu使用率会超过100见解
linux的cpu使用频率是根据cpu个数和核数决定的
top,然后你按一下键盘的1,这就是单个核心的负载,不然是所有核心的负载相加,自然会超过100
如上面 cpu个数是4个,那么cpu可以占到400%
4. linux 下 cpu 到100,php-fpm 的问题,问下怎么解决
解决方法有如下三种:可以用杀毒软件彻底清理系统内存和本地硬盘,并版且打开系统设置软件,权察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。出现该问题可能是由于大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。
也可以选择“开始”--“运行”,输入:“msconfig”,选中“启动”,关闭不必要的启动项,重新启动电脑即可。
也可以在注册表编辑器中依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ”,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出。
如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。