您的位置:首页 > 其它

cpu过高的排错思路,及相关命令

2017-11-07 11:37 281 查看
[root@host1 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0  76404     16 602564    0    0    12    58   41   80  0  0 99  0  0
[root@host1 ~]# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0  76408     16 602564    0    0    12    58   41   81  0  0 99  0  0
2 采样时间 1 是采样次数(间隔2S采样一次)
r:运行队列,cpu每次处理一个线程,越大越慢,一共多少个进程真的分到了cpu,负载过3 就比较高了,过5就是高,过10就不正常了
b:阻塞进程,不可中断睡眠状态进程的数量
swpd:虚拟内存使用大小,大于0表示物理内存不足,如果不是程序内存泄漏的原因,那么就该升级内存或把消耗内存的任务迁移到其他机器
free:空闲物理内存的大小
buff:同做缓冲区的内存数量(用来系统存储,目录里什么内容,权限等的缓存)
cache:用作缓存的内存数量(直接记忆我们打开的文件,给文件做的缓存)
si:从磁盘每s换入内存的数量(如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常)
so:交换到磁盘内存数量(如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常)
bi:从块设备接受到块(每秒块数)默认块大小1024byte
bo:发送到块设备的块(每秒快数)
in:每秒中断的数量,包含时钟中断
cs:每秒上下文切换数量
us:用户cpu的时间,运行得内核代码花费的时间
sy:系统cpu的时间,如果太高表示系统调用时间长,eg:IO操作频繁
id:空闲cpu时间,一般来说id+us+sy=100
wt:等待IO CPU的时间
=====================================
r: 表示系统中 CPU 等待处理的线程。由于 CPU 每次只能处理一个线程,所以,该数值越大,通常表示系统运行越慢
us:用户模式消耗的 CPU 时间百分比。该值较高时,说明用户进程消耗的 CPU 时间比较多,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化
sy:内核模式消耗的 CPU 时间百分比
wa:IO 等待消耗的 CPU 时间百分比。该值较高时,说明 IO 等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈
id:处于空闲状态的 CPU 时间百分比。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺
============================================
top - 10:04:14 up  7:31,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  96 total,   2 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   999936 total,   279684 free,   130400 used,   589852 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   680892 avail Mem
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
2318 root      20   0       0      0      0 S  0.3  0.0   0:27.42 kworker/0:2
程序名称 当前时间 已经运行的时间 当前登录用户数量 系统1,5,15分钟的平均负载

总任务的数量 正在运行任务的数量 睡眠状态的任务数量 中止状态的任务数量 僵尸状态的任务数量

运行非nice用户进程时间 内核进程时间 nice用户时间 空闲花费时间 IO等待花费时间 硬件中断花费时间 软件中断花费时间 通过hypervisor虚拟机偷走时间

总共内存 已经使用的内存 空闲内存 用作缓冲和缓存的内存
总共虚拟内存 已经使用的虚拟内存 空想虚拟内存

[root@host1 ~]# uptime

10:17:54 up  7:45,  1 user,  load average: 0.00, 0.01, 0.05
[root@host1 ~]# free
total        used        free      shared  buff/cache   available
Mem:         999936      130156      279916        6828      589864      681136
Swap:       2097148           0     2097148
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 cpu 查看