如何监控Linux系统性能:CPU、内存、网络IO、磁盘IO

top(监控CPU/内存/进程/线程)

# 直接使用
top
# 查看进程里的线程信息
top -Hp 7275 
# 查询PID为7275的线程数
ps hH p 7275 |wc -l
# 关键字为java 的进程的线程数
pstree -p `ps -e | grep java | awk '{print $1}'` | wc -l
# 查询7275的线程
pstree -p 7275

# 查系统支持的最大进程数,一般会很大,相当于理论值
cat /proc/sys/kernel/pid_max 
# 线程数
cat /proc/sys/kernel/thread-max
# 进程信息
cat /proc/${pid}/status

free(监控内存)

Linux新版本的free命令:
	`总物理内存`: total = used + free + buff/cache
	`还能申请的物理内存` = available
	`程序已用的物理内存` = used
	`已占用的物理内存` = total - available
	available <= free + buff/cache 因为有一部分page或cache是不能回收的

这里写图片描述

如何监控Linux系统性能:CPU、内存、网络IO、磁盘IO_第1张图片

iptraf-ng(监控网络IO)

CentOS安装:yum install -y iptraf-ng
运行:sudo iptraf-ng
如何监控Linux系统性能:CPU、内存、网络IO、磁盘IO_第2张图片

iostat(监控磁盘IO)

CentOS安装:yum install sysstat -y
运行:watch -p iostat
如何监控Linux系统性能:CPU、内存、网络IO、磁盘IO_第3张图片

%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。值过高时,表示硬盘存在I/O瓶颈
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
	值高表示CPU较空闲。值高但系统响应慢时,可能是CPU等待分配内存,应加内存
	值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU

tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:  读取的总数据量;
kB_wrtn:写入的总数量数据量;

你可能感兴趣的:(Linux,Shell)