前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux监控系统相关资源和运行状态命令整理

Linux监控系统相关资源和运行状态命令整理

作者头像
老油条IT记
发布2020-03-20 21:06:57
1.1K0
发布2020-03-20 21:06:57
举报
文章被收录于专栏:用户7095785的专栏

#前言:Linux系统自带了些实时查看监控系统运行状态的相关命令,接下来我们就来了解一下。

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

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

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

代码语言:javascript
复制
[root@ctos1 ~]# top
top - 10:26:38 up  9:07,  2 users,  load average: 0.00, 0.02, 0.05
Tasks: 121 total,   2 running, 119 sleeping,   0 stopped,   0 zombie
%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
KiB Mem :  1865308 total,   125604 free,   520128 used,  1219576 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1078440 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND               
 33188 root      20   0  158848   5588   4236 S   0.3  0.3   0:03.03 sshd                  
 34324 root      20   0  162008   2204   1540 R   0.3  0.1   0:00.02 top                   
     1 root      20   0  128076   6712   4124 S   0.0  0.4   0:19.29 systemd               
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.04 kthreadd   

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

#详解相关命令意思

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

代码语言:javascript
复制
[root@ctos1 ~]# uptime
 10:29:45 up  9:11,  2 users,  load average: 0.00, 0.01, 0.05

#内容详解

代码语言:javascript
复制
10:29:45   #显示的是当前时间
up 9:11    #系统运行时间,格式为时:分
2 users    #当前登录用户数
load average:0.00,0.01,0.5  #系统负载,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

#第二行:进程信息

代码语言:javascript
复制
Tasks: 121 total,   2 running, 119 sleeping,   0 stopped,   0 zombie

#内容详解

代码语言:javascript
复制
Tasks:121 total    #进程总数
2 running      #正在运行的进程数
119 sleeping   #睡眠的进程数
0 stopped      #停止的进程数
0 zombie       #僵尸进程数

#第三行:cpu信息

代码语言:javascript
复制
%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

#内容详解

代码语言:javascript
复制
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的百分比

#第四五行:内存信息

代码语言:javascript
复制
KiB Mem :  1865308 total,   125604 free,   520128 used,  1219576 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1078440 avail Mem 

#内容详解

代码语言:javascript
复制
Mem:1865308 total   #物理内存总大小
125604 free         #空闲的内存       
520128 used         #使用的物理内存总大小
1219576 buff/cache  #用作内核缓存的内存量

swap:209714 total    #交换分区总量
0 used           #使用的交换分区大小
2097149  free    #空闲的

#进程状态

代码语言:javascript
复制
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND               
 33188 root      20   0  158848   5588   4236 S   0.3  0.3   0:03.03 sshd                  
 34324 root      20   0  162008   2204   1540 R   0.3  0.1   0:00.02 top   

#内容详解

代码语言:javascript
复制
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常用的快捷键

代码语言:javascript
复制
默认3s刷新一次
空格:立即刷新
q:退出
M:按内存大小排序
P:按CPU大小排序
N:按PID来排序
<>:翻页

2.ps查看系统进程状态

代码语言:javascript
复制
[root@ctos1 ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 128076  6712 ?        Ss   01:18   0:19 /usr/lib/systemd/systemd -
root          2  0.0  0.0      0     0 ?        S    01:18   0:00 [kthreadd]

#内容详解

代码语言:javascript
复制
USER:进程拥有者
PID  :进程的ID号
%CPU :CPU占用百分比
%MEM :占用内存的百分比
VSZ:  占用虚拟内存的大小,单位KB
RSS:  占用物理内存的大小,单位KB
TTY:  当前进程执行的终端号
STAT: 进程的状态
START:进程开始时间
TIME  :进程实际使用CPU时间
COMMAND:实际命令

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

代码语言:javascript
复制
pstree #是以进程树的形式显示
pgrep  #是以进程名字或属性来显示查找进程的PID

3.nice进程控制

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

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

代码语言:javascript
复制
[root@ctos1 ~]# nice -n -20 top

#修改进程的优先级

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

代码语言:javascript
复制
[root@ctos1 ~]# renice 10 33192

4.kill终止进程

代码语言:javascript
复制
 kill命令是发送一个信号给进程,默认是发送15(TERM)终止

#语法格式:kill PID

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

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

代码语言:javascript
复制
[root@ctos1 ~]# kill 32813

#加-9:强制中断

代码语言:javascript
复制
[root@ctos1 ~]# kill -9 32813

#使用pkill结束http所有进程

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

代码语言:javascript
复制
[root@ctos1 ~]# pidof httpd
34505 34504 34503 34502 34501 34500

#结束httpd的所有进程

代码语言:javascript
复制
[root@ctos1 ~]# pkill -9 httpd

#收集系统运行状态信息

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

代码语言:javascript
复制
[root@ctos1 ~]# yum install sysstat -y

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

#主要用户监控系统设备的io负载情况

#语法和相关参数

代码语言:javascript
复制
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z  ]
       [  -j  { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name ] [ -p [ device
       [,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ]

#使用

代码语言:javascript
复制
[root@ctos1 ~]# iostat 
Linux 3.10.0-862.el7.x86_64 (ctos1)     03/14/2020     _x86_64_    (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.22    0.00    0.34    0.01    0.00   99.42

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.90         8.75        87.33     336333    3357085
scd0              0.00         0.03         0.00       1028          0
dm-0              3.03         7.99        87.28     307286    3355017
dm-1              0.00         0.06         0.00       2228          0

#输出命令解释

代码语言:javascript
复制
Device:设备名
tps:该设备每秒的传输次数
KB_read/s:每秒从设备读取的数据量
KB_wrtn/s:每秒向设备写入的数据量
KB_read:读取的总数据量
KB_wrtn:写入的总数据量

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

代码语言:javascript
复制
[root@ctos1 ~]# iostat  -d 3 2 #每三秒刷新一次,总共报告两次
Linux 3.10.0-862.el7.x86_64 (ctos1)     03/14/2020     _x86_64_    (2 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.83         8.57        85.22     337789    3358511
scd0              0.00         0.03         0.00       1028          0
dm-0              2.96         7.83        85.17     308742    3356443
dm-1              0.00         0.06         0.00       2228          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.00         0.00         1.99          0          6
scd0              0.00         0.00         0.00          0          0
dm-0              1.00         0.00         1.99          0          6
dm-1              0.00         0.00         0.00          0          0

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

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

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

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

#查看帮助:man mpstat

#命令执行格式

代码语言:javascript
复制
mpstat  [ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -P { cpu [,...] |
       ON | ALL } ] [ interval [ count ] ]

#使用

代码语言:javascript
复制
[root@ctos1 ~]# mpstat 
Linux 3.10.0-862.el7.x86_64 (ctos1)     03/14/2020     _x86_64_    (2 CPU)

11:14:13 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:14:13 PM  all    0.23    0.00    0.32    0.01    0.00    0.02    0.00    0.00    0.00   99.42

#输出命令解释

代码语言:javascript
复制
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

#使用

代码语言:javascript
复制
[root@ctos1 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 509652    116 1212016    0    0     4    43   69   72  0  0 99  0  0

#输出命令解释

代码语言:javascript
复制
r:等待执行的任务数
b:表示阻塞的进程
swap:虚拟内存已使用的大小
free:空闲的物理内存的大小
buff:已用的缓冲大小
cache:已用的缓存大小
si:每秒从磁盘读入虚拟内存的大小
so:每秒虚拟内存写入磁盘的大小
bi:块设备每秒接收的块数量
bo:块设备每秒发送的块数量
in:每秒CPU的中断次数
cs:每秒上下文切换次数
us:用户CPU时间
sy:系统CPU时间
id:空闲CPU时间
wa:等待io时间

8.其他相关查看信息

#查看CPU信息

代码语言:javascript
复制
lscpu 或cat /proc/cpuinfo

#查看内存信息

代码语言:javascript
复制
[root@ctos1 ~]# cat /proc/meminfo 

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

代码语言:javascript
复制
[root@ctos1 ~]# cat /proc/sys/vm/swappiness 
30

#查看系统上使用的模块

代码语言:javascript
复制
[root@ctos1 ~]# cat /proc/modules

#查看系统分区信息

代码语言:javascript
复制
[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

#网络流量监控工具

代码语言:javascript
复制
iptraf
iftop
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.top命令:动态查看进程相关信息
  • 2.ps查看系统进程状态
  • 3.nice进程控制
  • 4.kill终止进程
  • 5.iostat:查看设备或分区的io相关统计
  • 6.mpstat:查看处理器(CPU)相关的统计
  • 7.vmstat:查看虚拟内存相关的统计
  • 8.其他相关查看信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档