查看Linux系统内存、CPU、磁盘使用率和详细信息
查看Linux系统内存、CPU、磁盘使用率和详细信息
一、查看内存占用
1、free
# free -m
以MB为单位显示内存使用情况
# free -h
以GB为单位显示内存使用情况
# free -t
以总和的形式查询内存的使用信息
# free -s 5
周期性的查询内存使用信息,每5秒执行一次命令
解释:
Mem:内存的使用情况总览表(物理内存)
Swap:虚拟内存。即可以把数据存放在硬盘上的数据
shared:共享内存,即和普通用户共享的物理内存值
buffers:用于存放要输出到disk(块设备)的数据的
cached:存放从disk上读出的数据
total:机器总的物理内存
used:用掉的内存
free:空闲的物理内存
注:物理内存(total)=系统看到的用掉的内存(used)+系统看到空闲的内存(free)
2、查看某个pid的物理内存使用情况
# cat /proc/PID/status | grep VmRSS
由上面可知,nginx服务进程的两个pid所占物理内存为"2652+1264=3916k"
3、查看本机所有进程的内存占比之和
# cat mem_per.sh
脚本配置解释:
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行
二、查看CPU使用情况
1、top
top后键入P看一下谁占用最大
# top -d 5
周期性的查询CPU使用信息,每5秒刷新一次
2、ps auxw(查看本机的进程所占cpu和mem的百分比情况)
使用"ps auxw" 可以查看到本机的进程所占cpu和mem的百分比情况
# ps auxw | head -1
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
查看java进程所占本机的cpu百分比, 如下为0.2%
# ps auxw |grep -v grep|grep -w java|awk '{print $3}'
查看java进程所占本机的内存百分比, 如下为30.0%
# ps auxw |grep -v grep|grep -w java|awk '{print $4}'
3、查看本机所有进程的CPU占比之和
# cat cpu_per.sh
三、查看cpu信息(信息记录在/proc/cpuinfo中)
# 总核数 = 物理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详细信息
# lscpu
服务器1:
服务器2:
4、查看每个物理CPU中core的个数(即核数)
# cat /proc/cpuinfo| grep "cpu cores"| uniq
三、Linux下查看哪些进程占用的CPU和内存资源最多的方法
1、获取占用CPU资源最多的10个进程
# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -10
2、获取占用内存资源最多的10个进程
# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head -10
3、查看占用cpu最高的进程
# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -1
4、获取占用内存资源最高的进程
# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head -1
四、Linux下查看某些进程的启动时间和运行时长
比如查看java进程的启动时间和运行时长
# ps -ef|grep -v grep|grep -w java|awk '{print $2}'
# ps -eo pid,lstart,etime | grep 1973
其中:
Mon Jun 24 09:25:41 2019 为java进程的启动时间
4-00:16:55 为java进程的运行时长,天-小时-分钟-秒
查看所有进程的启动事件、运行时长
# ps -eo user,pid,lstart,etime,cmd
查看nginx进程启动的精确时间和启动后运行的时长
# ps -eo pid,lstart,etime,cmd|grep nginx
五、查看网络情况
# ifconfig
# ip a
四、查看磁盘以及分区情况
# df -Th 查看分区、挂载情况
# lsblk 查看磁盘情况
# fdisk -l 查看详细的硬盘分区情况