ps -auxw|awk '{print $3}' 表示列出本机所有进程的cpu利用率情况,结果中第一行带"%CPU"字符
ps -auxw|awk '{print $4}' 表示列出本机所有进程的内存利用率情况,结果中第一行带"%MEM"字符
ps auxw|awk '{if (NR>1){print $4}} 表示将"ps auxw"结果中的第一行过滤(NR>1)掉,然后打印第4行
1、cpu
命令: top
top -d 5 表示每5秒刷新一次
(1) 查看本机所有进程的CPU占比之和
1> 创建并编辑文件: # touch cpu_per.sh
2> 文件内容:
#!/bin/bash
ps auxw|awk '{if (NR>1){print $3}}' > /opt/cpu_list
awk '{CPU_PER+=$1}END{print CPU_PER}' /opt/cpu_list
(2) 查看某进程所占本机的cpu百分比:
ps auxw |grep -v grep|grep -w 进程名|awk '{print $3}',如:
ps auxw |grep -v grep|grep -w java|awk '{print $3}'
查看java进程所占本机的cpu百分比, 如下为45.8%
(3)列数cpu详细信息:lscpu
(4)
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
1> 查看虚拟机逻辑CPU的个数: # cat /proc/cpuinfo| grep "processor"| wc -l
2> 查看物理CPU个数: # cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
3> 查看每个物理CPU中core的个数(即核数):cat /proc/cpuinfo| grep "cpu cores"| uniq
(5)获取占用CPU资源最多的10个进程:
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -10
2、内存
命令: free -h
查看各个进程占用内存情况
(1) 查看进程ip命令:pidof 进程名,如:#pidof nginx
表示有两个ngnix进程,pid分别为:986和978
(2) 查看各个进程Pid占用的内存情况,命令:
cat /proc/进程pid/status | grep VmRSS,如:
cat /proc/986/status | grep VmRSS
nginx服务进程的两个pid(986,978)所占物理内存为"1580kB+636kB=2216kB"
(3)查看某进程所占本机的内存百分比:
ps auxw |grep -v grep|grep -w 进程名|awk '{print $4}',如:
ps auxw |grep -v grep|grep -w java|awk '{print $4}'
查看java进程所占本机的内存百分比, 如下为14.2%
(4)获取占用内存资源最多的10个进程:
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head -10
(5)查看本机所有进程的内存占比之和
1> 创建文件:touch mem_per.sh
2> 编辑文件:
#!/bin/bash
ps auxw|awk '{if (NR>1){print $4}}' > /opt/mem_list
awk '{MEM_PER+=$1}END{print MEM_PER}' /opt/mem_list
3、磁盘
命令: df -Th
查看详细的硬盘分区情况:fdisk -l