Linux体检,了解你的Linux状态(网络IO,磁盘,CPU,内存)
1、核心命令
linux 监控网络io、磁盘、cpu、内存:
cpu:vmstat 、sar –u、top
磁盘io:iostat –xd、sar –d、top
网络io:iftop -n、ifstat、dstat –nt、sar -n dev 2 3
磁盘容量:df –h
内存使用:free –m、top
2、常用命令
(1)内存:条数、每条大小、内存是ddr4还是ddr3、内存频率是2666mt/s还是1600mt/s
条数: dmidecode|grep -a5 'memory device'|grep size | grep -v installed |wc -l
每条大小: dmidecode|grep -a5 'memory device'|grep size | grep -v installed |uniq
内存类型: dmidecode | grep -a16 "memory device" | grep 'type:' |grep -v unknown |uniq
内存频率: dmidecode | grep -a16 "memory device" | grep 'speed' |grep -v unknown |uniq
(2)硬盘:块数,大小
fdisk -l | grep "disk /dev/sd"
(3)查看什么进程占用端口
netstat -antp | fgrep <port>
(4)查看进程资源
jps -l # 获取进程idjmap -heap 21046
(5)cpu个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
(6)cpu核数
cat /proc/cpuinfo| grep "cpu cores"| uniq
(7)cpu主频
cat /proc/cpuinfo| grep "model name"| uniq
3、核心命令详解
3.1、ps aux
ps命令用于查看系统中的进程状态
user pid %cpu %mem vsz rss tty stat start time command
user,进程所有者的用户名。
pid,进程号,可以唯一标识该进程。
%cpu,进程自最近一次刷新以来所占用的cpu时间和总时间的百分比。
%mem,进程使用内存的百分比。
vsz,进程使用的虚拟内存大小,以k为单位。
rss,进程占用的物理内存的总数量,以k为单位。
tty,进程相关的终端名。
stat,进程状态,用(r--运行或准备运行;s--睡眠状态;i--空闲;z--冻结;d--不间断睡眠;w-进程没有驻留页;t停止或跟踪。)这些字母来表示。
start,进程开始运行时间。
time,进程使用的总cpu时间。
command,被执行的命令行。
3.2、top
top命令是linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于windows的任务管理器。
1、上半部分显示了整体系统负载情:
- top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值
- tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数
- cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比
- mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量
- swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小
2、下半部分显示了各个进程的运行情况:
pid: 进程pid
user: 拉起进程的用户
pr: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级rt对应于0,为最高优先级
ni: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19
virt: 进程所占虚拟内存大小(默认单位kb)
res: 进程所占物理内存大小(默认单位kb)
shr: 进程所占共享内存大小(默认单位kb)
s: 进程的运行状态
%cpu: 采样周期内进程所占cpu百分比
%mem: 采样周期内进程所占内存百分比
time+: 进程使用的cpu时间总计
command: 拉起进程的命令
根据以上命令,提前设置监控预警。监控预警能够让你及时发现系统的性能信息、比如磁盘快满了,内存超负荷了,我们可以提前作出调整。
最后,遇到问题不要慌。根据经验,再通过命令排查内存、磁盘、网络、cpu,问题无非就这几类,切不可着急忙慌乱改一通,让简单问题复杂化,希望大家以后多多支持!
推荐阅读
-
Linux系统下的CPU、内存、IO、网络的压力测试
-
Linux常用命令及详细说明 — 结合工作(侧重性能监控,包括CPU、内存、IO、网络、磁盘等)
-
Linux体检,了解你的Linux状态(网络IO,磁盘,CPU,内存)
-
Linux系统下的CPU、内存、IO、网络的压力测试
-
Linux常用命令及详细说明 — 结合工作(侧重性能监控,包括CPU、内存、IO、网络、磁盘等)
-
给你总结Linux怎样查看内存、磁盘、CPU以及网络的状态
-
实用技巧之给你的Linux内存、磁盘、CPU、网络把把脉
-
Linux体检,了解你的Linux状态(网络IO,磁盘,CPU,内存)
-
实用技巧之给你的Linux内存、磁盘、CPU、网络把把脉
-
给你总结Linux怎样查看内存、磁盘、CPU以及网络的状态