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是不能回收的
iptraf-ng
(监控网络IO)
CentOS安装:yum install -y iptraf-ng
运行:sudo iptraf-ng
iostat
(监控磁盘IO)
CentOS安装:yum install sysstat -y
运行:watch -p iostat
%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:写入的总数量数据量;