一、性能监控命令 | MEMORY
MEMORY
首先说说虚拟内存和物理内存:
虚拟内存就是采用硬盘来对物理内存进行扩展,将暂时不用的内存页写到硬盘上而腾出更多的物理内存让有需要的进程来用。当这些内存页需要用的时候在从硬盘读回内存。这一切对于用户来说是透明的。通常在Linux系统说,虚拟内存就是swap分区。在X86系统上虚拟内存被分为大小为4K的页。
每一个进程启动时都会向系统申请虚拟内存(VSZ),内核同意或者拒就请求。当程序真正用到内存时,系统就它映射到物理内存。RSS表示程序所占的物理内存的大小。用ps命令我们可以看到进程占用的VSZ和RSS。
在命令行使用“Free”命令可以监控内存使用情况
输出的含义
1)top 可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: 2)pmap pmap -d 1878 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 root| sort -nrk5
找出消耗内存最多的前10名进程:
ps -auxf | sort -nr -k 4 | head -10
二、性能监控命令 | IO and NETWORK
IO
监控IO的常用命令为iostat
iostat -x
io相关的参数含义
三、性能监控命令 | CPU
Cpu风险诊断
1、Cpu关键性能指标
CPU负载。
CPU利用率
CPU利用率。当%CPU≥50%时,需要引起注意;当%CPU≥70%时,就 需要密切关注了,如果是测试,此时需要分析原因;当%CPU≥90% 时,就处于危险状态,此状态不应该成为一个常态,在测试时就 必须分析原因了。
负载(load average),当load average>CPU核心数 1时,工作 负载已经比较重了,需要分析原因;当load average>CPU核心数 2时,已经是高负载,需要排查原因。
2、定位方法
如下方式来分析CPU的性能问题。
(1)找到CPU利用率大的进程。
(2)找到这个进程中占CPU大的线程。
(3)得到当前线程的栈信息(线程快照)。
(4)分析程序执行过程
案例:
1)模拟CPU使用率100%的场景:stress --cpu 1 -- timeout 600
2)命令行,输入top并按1查找linux最大进程
找到最大进程的PID为5649
1)命令行,top –Hp 5649 找到这个进程中占CPU大的线程(如果有,如JVM中)
4)得到当前线程的栈信息 jstack -l PID >./log并导出
其他命令:
ps
(1)找出使用CPU最多的前10名进程:
ps -auxf | sort -nr -k 3 | head -10
uptime 查看系统平均负载情况,watch -d 参数表示高亮显示变化的区域:watch -d uptime mpstat 查看 CPU 使用率的变化情况:mpstat -P ALL 5
标签:ps,性能,命令,内存,IO,MEMORY,进程,CPU,虚拟内存 From: https://www.cnblogs.com/xfbk/p/17188783.html