原文转自:https://www.jianshu.com/p/a250fc694e60
- CPU
- MEMORY
- IO
- NETWORK
- LINUX进程内存占用查看方法
IO
监控IO的常用命令为iostat
[work@jx-testing-ps1933.jx.baidu.com ~]$ iostat -x Linux 2.6.9-52bs (jx-testing-ps1933.jx.baidu.com) 07/30/2008
avg-cpu: %user %nice %sys %iowait %idle
0.71 0.00 0.22 0.01 99.05
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.01 0.26 0.40 1.01 50.25 152.31 25.12 76.15 144.46 0.02 12.24 0.65 0.09
io相关的参数含义
![](https://img2018.cnblogs.com/blog/1657486/201912/1657486-20191226222549016-1714361659.png)
NETWORK
网络是所有子系统中最难监控的了。首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内。这些因素包括,延迟、冲突、阻塞等等。
由于网络监控中,需要查看许多设备的状态和参数,需要root权限才可以,所以就不在这里进行介绍了。
LINUX进程内存占用查看方法
(1)top
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
(2)pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
$ pmap -d 14596
(3)ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'
其中rsz是是实际内存
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
其中rsz为实际内存,上例实现按内存排序,由大到小