Linux的top命令及交换分区

TOP命令关键指标

%MEM,在内存中的占用率
%CPU,使用率,如果两核,最大可到200%
TIME+, 占用cpu的总时间/s
SHR,分享内存
RES, 常驻内存,进程当前使用的内存大小,不包括swap out,含共享内存,申请了很多,用了很少,按实际用的展示
VIRT,占用的虚拟内存 VIRT = SWAP + RES,申请了多少就算多少

小技巧

top命令时,按b加亮,f选哪些展示,回车后生效
top时,按1,可看到cpu每个逻辑cpu的状态

top只能看进程,看不到线程,怎么办
监控java线程数:
ps -eLf | grep java | wc -l

监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
netstat -n | grep tcp | grep 1601 | wc -l

top -Hp {pid},查看进程中的线程各方面信息,此时控制台的pid就是jstack信息中的nid,只不过变成了16进制
如591835的十六进制为nid=0x907db
(top -H表示show threads)
ps -Lfp pid
查询某个线程的堆栈jstack 21711 | grep 线程id的16进制,如907db

交换分区

交换分区SWAP分区:
linux可以使用文件系统中的一个常规文件或独立分区作为交换空间,相对而言,交换分区会比普通文件要快一些,但是和RAM性能依旧差距很大

优点:
当内存完全填满时提供溢出空间
可以移动很少需要的数据,从高速缓存中
允许休眠

缺点:
交换分区会占用硬盘空间,且它不可动态resize
加剧对硬盘的磨损
对于提升性能,它不是必须的

在物理内存不足时,Swap可以临时存放使用率不高的内存页,把腾出的内存交给更急的应用程序,如果程序有内存溢出的风险,则交换分区很重要,它可以防止内存不够时的系统崩溃

少量使用Swap空间不会影响性能,当RAM不足或内存泄露时,可能导致严重性能问题,频繁使用交换分区还会导致cpu使用很高

原文地址:https://www.cnblogs.com/windliu/p/8807699.html