Linux系统中各资源的占用情况

2018-01-31  本文已影响0人  我愿是你的左右手

一、cpu

1、我们可以使用top来查看cpu的总的使用及每个进程的使用情况
image.png

“Cpu(s): 0.5%us, 0.7%sy, 0.0%ni,98.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st”

我们可以看到用户空间占用CPU百分比是0.5%,内核空间占用CPU百分比是0.5%,空闲比是98.8% 说明cpu资源还有很多,这个时候我们不需要关心每个进程的使用情况

2、找出占用cpu较高的进程

按大写的P是按照cpu排序,这样我们就能看到占用CPU最多的进程, 用top -c 可以看到详细的COMMAND的信息,定位到具体的脚本文件。

3、查看线程内存使用情况

我们可以top -d 进程号 如:top -d 10677 单独查看占用cpu最高的进程id,然后按H可以查看此进程的线程的cpu的使用情况,这个时候PID就变成了线程id,然后同样我们也按下大写P来进行cpu的排序 找到占用cpu最高的线程信息,进而定位到问题

二、内存

1、使用free -h名查看机器总的内存使用情况
image.png

图上,磁盘总的大小是296G 使用了 27G,可用 254G,使用率10%,磁盘的使用率并不高,不用担心

2、如果磁盘使用率很高 也可以像查找cpu那样找出 占用内存较高的进程

三、磁盘

1、首先使用df -h名查看机器总的磁盘使用情况
image.png

图上,磁盘总的大小是296G 使用了 27G,可用 254G,使用率10%,磁盘的使用率并不高,不用担心

2、如果磁盘使用率很高

我们采用逐层查看的方式
du -sh /* | sort -nr
可以得到 / 目录下所有文件和目录的大小的排序结果。
从中找出最大的,在我的机器中/var文件占用了47个G的大小,应该就是它了,使用上面的命令继续追踪:

du -sh /var/* | sort -nr
du -sh /var/log/* | sort -nr
du -sh /var/log/httpd/* | sort -nr

最后找到 暂用磁盘较多的文件

3、使用 find

我们也可以配合find命令查询一些较大文件 比如
find ./ -size +1G -exec du -h {} \;
这个命令可以列出 大于1G的文件列表

四、IO

1、通过iostat -d 1 1查看指定磁盘吞吐量和速率
[root@localhost ~]# iostat -d 1 1
Linux 2.6.32-573.el6.x86_64 (localhost)         06/30/2017      
_x86_64_        (4 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.14         0.08         3.31    1939830   83482716
dm-0              0.42         0.07         3.30    1872538   83282120
dm-1              0.00         0.00         0.00      39840     124112
dm-2              0.00         0.00         0.00       2002      76424
dm-3              0.00         0.01         0.00     254810      14320

从结果看到平均传输次数0.14,每秒读取0.08M,每秒写3.31M

2、iostat -x 1 1 查看磁盘io的性能
image.png

说一下 -x参数输出列意思

3、使用iotop命令查看 io较高的进程
上一篇 下一篇

猜你喜欢

热点阅读