<返回更多

Linux常用监视和故障排查命令详解

2020-07-31    
加入收藏

#命令预览

1.top

2.ps

3.nice

4.kill

5.IOStat

6.mpstat

7.vmstat

8.df

9.du

10.netstat

11.ss

#首先我们先来了解一下什么是进程

#进程:是linux用来表示正在运行的程序的一种抽象概念,Linux系统上所有运行的东西都可以称为进程

1.top命令:动态查看进程相关信息

需要!Linux常用监视和故障排查命令详解

 

#提示:前五行是系统整体的统计信息

#详解相关命令意思

#第一行:任务队列信息,和uptime命令的执行结果相同

[root@ctos1 ~]# uptime

10:29:45 up 9:11, 2 users, load average: 0.00, 0.01, 0.05

#内容详解

10:29:45 #显示的是当前时间

up 9:11 #系统运行时间,格式为时:分

2 users #当前登录用户数

load average:0.00,0.01,0.5 #系统负载,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

#第二行:进程信息

Tasks: 121 total, 2 running, 119 sleeping, 0 stopped, 0 zombie

#内容详解

Tasks:

121 total #进程总数

2 running #正在运行的进程数

119 sleeping #睡眠的进程数

0 stopped #停止的进程数

0 zombie #僵尸进程数

#第三行:cpu信息

%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st

#内容详解

0.0 us #系统用户进程使用CPU百分比

0.2 sy #内核空间占用CPU百分比

0.0 ni #用户进程空间内改变优先级的进程占用cpu百分比

99.7 id #空前的CPU百分比

0.0% wa # IO等待占用CPU的百分比

0.0% hi #硬中断(Hardware IRQ)占用CPU的百分比

0.2% si # 软中断(Software Interrupts)占用CPU的百分比

#第四五行:内存信息,和free -m命令的执行结果一样

需要!Linux常用监视和故障排查命令详解

 

#内容详解

Mem:1865308 total #物理内存总大小

125604 free #空闲的内存

520128 used #使用的物理内存总大小

1219576 buff/cache #用作内核缓存的内存量

swap:209714 total #交换分区总量

0 used #使用的交换分区大小

2097149 free #空闲的

#进程状态

需要!Linux常用监视和故障排查命令详解

 

#内容详解

PID #进程ID

USER #进程所有者的用户名

PR #进程的调度的优先级

NI #NICE值,负值表示高优先级,正值表示低优先级

VIRT #进程使用的虚拟内存

RES #进程使用的虚拟内存总量,单位KB

SHR #进程使用的共享内存,单位为kb S #进程状态,有五种状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:停止,Z:僵尸进程

%CPU #上次更新到现在的cpu时间占用百分比

%MEM #使用的物理内存百分比

TIME+ #使用的CPU时间总计,单位1/100秒

COMMAND #命令行/命令名

#top常用的快捷键

默认3s刷新一次

空格:立即刷新

q:退出

M:按内存大小排序

P:按CPU大小排序

N:按PID来排序

<>:翻页

2.ps查看系统进程状态

需要!Linux常用监视和故障排查命令详解

 

#内容详解

USER:进程拥有者

PID :进程的ID号

%CPU :CPU占用百分比

%MEM :占用内存的百分比

VSZ: 占用虚拟内存的大小,单位KB

RSS: 占用物理内存的大小,单位KB

TTY: 当前进程执行的终端号

STAT: 进程的状态

START:进程开始时间

TIME :进程实际使用CPU时间

COMMAND:实际命令

#扩展:查看进程的其他常用命令

pstree #是以进程树的形式显示

pgrep #是以进程名字或属性来显示查找进程的PID

3.nice进程控制

Linux系统中每一个进程都有一个优先级PR(priotity),PR值越小,优先级越高,就会被优先执行,NICE值可以自己设定,NI的正负影响到PR值,可以通过设定NI来提升或降低进程的优先级

#例子:以nice值为-20运行top命令

[root@ctos1 ~]# nice -n -20 top

#修改进程的优先级 #

例如:将PID为33192的进程的NICE值修改为10

[root@ctos1 ~]# renice 10 33192

4.kill终止进程

kill命令是发送一个信号给进程,默认是发送15(TERM)终止

#语法格式:kill PID

#例子:将PID为32813的进程终止

#可以先使用ps aux查看进程

[root@ctos1 ~]# kill 32813

#加-9:强制中断

[root@ctos1 ~]# kill -9 32813

#使用pkill结束http所有进程

#可以使用pidof查看http相关的进程PID号

[root@ctos1 ~]# pidof httpd

34505 34504 34503 34502 34501 34500

#结束httpd的所有进程

[root@ctos1 ~]# pkill -9 httpd

#收集系统运行状态信息

#先来安装一个后面命令需要使用的包

[root@ctos1 ~]# yum install sysstat -y

5.iostat:查看设备或分区的io相关统计

#主要用户监控系统设备的io负载情况 #语法和相关参数

需要!Linux常用监视和故障排查命令详解

 

#使用

需要!Linux常用监视和故障排查命令详解

 

#输出命令解释

Device:设备名

tps:该设备每秒的传输次数

KB_read/s:每秒从设备读取的数据量

KB_wrtn/s:每秒向设备写入的数据量

KB_read:读取的总数据量

KB_wrtn:写入的总数据量

#使用-d参数:显示磁盘的使用状态

需要!Linux常用监视和故障排查命令详解

 

#-x参数:显示和io相关的扩展数据

6.mpstat:查看处理器(CPU)相关的统计

#mpstat----report processors related statistics(处理器相关的报告统计)

#mpstat,全称为Multiprocessor Statistics。是实时系统监控工具

#查看帮助:man mpstat

#命令执行格式

需要!Linux常用监视和故障排查命令详解

 

#使用

需要!Linux常用监视和故障排查命令详解

 

#输出命令解释

CPU: 处理器编号,all表示统计信息计算为所有处理器之间的平均值

%usr: 用户下,CPU利用率百分比。

%nice: 具有nice优先级的用户下,CPU利用率百分比。

%sys: 系统级(内核)执行时发生的CPU利用率百分比

%Iowait: 显示系统具有未完成磁盘I/O请求时,CPU或CPU空闲的时间百分比。

%irq: 系统服务于硬中断的时间开销的百分比

%soft: 系统服务于软中断开销的时间开销百分比

%steal: 虚拟机管理程序服务另一个虚拟处理器时虚拟CPU或CPU无意中等待的时间百分比。 %guest: CPU运行虚拟处理器所花费的时间百分比。

%idle: CPU空闲的百分比

7.vmstat:查看虚拟内存相关的统计

#vmstat --- report virtual memory statistics(报告虚拟内存的统计信息)

#语法:vmstat [options] [delay [count]]

#查看帮助:man vmstat

#使用

需要!Linux常用监视和故障排查命令详解

 

#输出命令解释

r:等待执行的任务数

b:表示阻塞的进程

swap:虚拟内存已使用的大小

free:空闲的物理内存的大小

buff:已用的缓冲大小

cache:已用的缓存大小

si:每秒从磁盘读入虚拟内存的大小

so:每秒虚拟内存写入磁盘的大小

bi:块设备每秒接收的块数量

bo:块设备每秒发送的块数量

in:每秒CPU的中断次数

cs:每秒上下文切换次数

us:用户CPU时间

sy:系统CPU时间

id:空闲CPU时间

wa:等待io时间

8.df命令:查看磁盘使用情况

#常用的参数

-a 全部文件系统列表

-h 方便阅读方式显示

-i 显示inode信息

#使用-i参数查看inode的使用情况

需要!Linux常用监视和故障排查命令详解

 

#使用-h查看磁盘的使用情况

需要!Linux常用监视和故障排查命令详解

 

9.du命令:显示文件或目录的大小

语法格式:

du [OPTION]... [FILE]...

du [OPTION]... --files0-from=F

#常用参数

-s或--summarize 仅显示总计。

-h或--human-readable 以K,M,G为单位,提高信息的可读性。

#使用

#查看/test目录的总大小,和/test目录下各个文件的大小

[root@game ~]# du -sh /test/

8.0K /test/

[root@game ~]# du -sh /test/*

4.0K /test/1.txt

4.0K /test/2.txt

10.netstat:提供有关路由和网络连接的信息

#首先需要安装net-tools包才有netstat命令

[root@ctos1 ~]# yum install net-tools -y

#常用的参数

-a (all) 显示所有选项,默认不显示LISTEN相关。

-t (tcp) 显示tcp连接。

-u (udp) 显示udp连接。

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 列出有在 Listen (监听) 的服务状态。

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

#使用man netstat可以获取更多的帮助信息

#使用

需要!Linux常用监视和故障排查命令详解

 

11.ss

#概述:ss是Socket Statistics的缩写,用来获取socket统计信息,它可以显示和netstat类似的内容。

#优点:ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,比netstat更快速更高效,当服务器的socket连接数量变得非常大时,优势就显而易见了。

#常用的参数

格式: ss [options] [ FILTER ]

-a (all)显示所有 -l 显示本地打开的所有端口

-p 显示每个进程具体打开的socket

-t 显示tcp socket

-u 显示udp socket

-n 不解析服务名

-s 列出当前socket详细信息

#使用man ss可以获取更多的帮助信息

#使用

需要!Linux常用监视和故障排查命令详解

 

#使用-s参数列出当前socket详细信息

需要!Linux常用监视和故障排查命令详解

 

12.其他相关查看信息

#查看CPU信息

lscpu 或cat /proc/cpuinfo

#查看内存信息

[root@ctos1 ~]# cat /proc/meminfo

#查看虚拟内存的使用触发值

[root@ctos1 ~]# cat /proc/sys/vm/swAppiness 30

#查看系统上使用的模块

[root@ctos1 ~]# cat /proc/modules

#查看系统分区信息

[root@ctos1 ~]# cat /proc/partitions

major minor #blocks name

8 0 20971520 sda

8 1 1048576 sda1

8 2 19921920 sda2

11 0 9177088 sr0

253 0 17821696 dm-0

253 1 2097152 dm-1

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>