大家好,今天小编关注到一个比较有意思的话题,就是关于proc cpu使用率的问题,于是小编就整理了2个相关介绍proc cpu使用率的解答,让我们一起看看吧。
如何用脚本一键获取和监控Linux系统信息和资源使用率?
很高兴回答您的问题我是林创云小编,如果我的回答对你有帮助欢迎给我评论留言或者点赞加个关注!
1、利用vmstat工具监控CPU详细信息,然后基于/proc/stat计算CPU利用率进行监控,超过80报警并提取出占用cpu最高的前十进程。
vmstat是Linux系统监控工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。
r:运行队列中的进程数;b:等待IO的进程数。
swpd:已用虚拟内存大小(k);free:空闲内存大小;buff:已用缓冲大小;cache:已用缓存大小。
si:每秒从交换区写入内存的大小(kb/s);so:每秒从内存写入交换分区的大小。
bi:每秒读取的块数;bo每秒写入的块数。
in:每秒中断数,包括时钟中断;cs:每秒上下文切换数。
us(user time):用户进程执行消耗cpu时间;sy(system time):系统进程执行消耗cpu时间;id:空闲时间(包括IO等待时间);wa:等待IO时间。
/proc/stat:
这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。可以利用其中信息计算cpu的利用率。
每行每个参数的意思为(以第一行为例,单位:jiffies,1jiffies=0.01秒):
user(62124):从系统启动开始累计到当前时刻,用户态的CPU时间,不包含 nice值为负进程。
nice(11):从系统启动开始累计到当前时刻。
system(47890):从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间。
idle(8715270):从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间。
iowait(84729):从系统启动开始累计到当前时刻,硬盘IO等待时间。
irq(0):从系统启动开始累计到当前时刻,硬中断时间。
softirq(1483):从系统启动开始累计到当前时刻,软中断时间。
CPU时间=user+nice+system+idle+iowait+irq+softirq。
CPU利用率=(idle2-idle1)/(cpu2-cpu1)*100。
ps aux:
显示其他用户启动的进程(a)
Ubuntu如何调整交换内存(swap)的使用率?
首先要明白swap分区其实是用硬盘空间来模拟内存,是一种在内存不够的情况下的救济措施,如果内存足够大,就尽量不要用到swap分区,硬盘模拟的内存和真正的内存这效率差的不是一点。
控制swap分区使用率有个内核参数vm.swappiness,配置路径/proc/sys/vm/swappiness,取值为0-100,0表示尽可能少的利用swap分区,100表示尽可能多的利用swap分区,在CentOS7下这个值默认是30,Ubuntu下没看过,自己到该路径下看下吧。
到此,以上就是小编对于proc cpu使用率的问题就介绍到这了,希望介绍关于proc cpu使用率的2点解答对大家有用。