Linux系统服务器日常运维常用系统监控指令


计算机工作示意图

服务日常维护一般是看CPU、内存、磁盘、网络指标是否正常。

1. top命令

top命令常用来监控Linux系统状况,是常用的性能分析工具,实时显示系统中各个进程资源占用情况

1.1 命令语法

top [选项]

1.2 命令选项

选项说明
-b以处理模式操作
-c显示完整的命令行而不只是显示命令名
-d屏幕刷新间隔时间
-i空闲进程开关
-s保密模式
-S累积模式
-u 用户名或UID指定用户名
-p pid指定进程,可以指定多个pid
-n number屏幕刷新次数后停止
-H查看进程下面的子线程

1.3 命令详解

命令执行结果:

[root@centos ~]# top
## 系统统计信息
top - 14:47:31 up 9 days, 21:24,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 183 total,   1 running, 182 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1881884 total,  1170352 free,   273080 used,   438452 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1446460 avail Mem 


## 系统进程信息
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                  
 1197 root      20   0 1169468  31704  14136 S   0.1  1.7   7:49.70 dockerd-current                                          
  788 root      20   0  275072   4976   3656 S   0.0  0.3   4:46.40 vmtoolsd                                                 
 1340 root      20   0  476448  13136   5416 S   0.0  0.7   5:19.59 docker-containe                                          
    9 root      20   0       0      0      0 S   0.0  0.0   0:10.06 rcu_sched                                                
10004 root      20   0       0      0      0 S   0.0  0.0   0:02.56 kworker/1:2                                              
13306 redis     20   0  143060   5796   1444 S   0.0  0.3   0:00.30 redis-server                                             
    1 root      20   0  193740   6828   4228 S   0.0  0.4   0:06.43 systemd                                                  
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.08 kthreadd                                                 
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                             
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.07 ksoftirqd/0                                              
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.02 migration/0                                              
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                   
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain

系统统计信息:

## 任务队列信息
top - 14:47:31 up 9 days, 21:24,  1 user,  load average: 0.00, 0.01, 0.05

14:47:31 # 当前系统时间

up 9 days, 21:24 # 系统运行时间

1 user # 当前登录用户数

load average: 0.00, 0.01, 0.05 # 系统平均负载数,表示最近1分钟、最近5分钟、最近15分钟的系统平均负载数
## 进程统计信息
Tasks: 183 total,   1 running, 182 sleeping,   0 stopped,   0 zombie

183 total # 系统当前总进程数

1 running # 正在运行进程数

182 sleeping # 睡眠进程数

0 stopped # 停止进程数

0 zombie # 僵尸进程数
## CPU统计信息
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

0.0 us # 用户空间CPU占用率

0.0 sy # 内核空间CPU占用率

0.0 ni # 用户进程空间改变过优先级的进程CPU的占用率

100.0 id # 空闲CPU占有率

0.0 wa # 等待输入输出的CPU时间百分比

0.0 hi # 硬件中断请求

0.0 si # 软件中断请求

0.0 st # 分配给运行在其它虚拟机上的任务的实际CPU时间
## 内存状态,单位是KB
KiB Mem :  1881884 total,  1170352 free,   273080 used,   438452 buff/cache

1881884 total # 物理内存总量

1170352 free # 空闲内存

273080 used # 已使用内存

438452 buff/cache # 内核缓存使用
## swap交换分区信息
KiB Swap:  2097148 total,  2097148 free,        0 used.  1446460 avail Mem 

2097148 total # 交换分区总量

2097148 free # 空闲交换分区

0 used # 已使用交换分区

1446460 avail Mem # 缓冲交换区

系统进程信息:

## 系统进程信息
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                  
 1197 root      20   0 1169468  31704  14136 S   0.1  1.7   7:49.70 dockerd-current 
 
PID # 进程id

USER # 进程所有者的用户名

PR # 进程优先级

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

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

RES	# 进程使用的、未被换出的物理内存大小,RES=CODE+DATA,单位KB

SHR # 共享内存大小,单位KB

S # 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

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

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

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

COMMAND # 进程名称[命令名/命令行]

1、按1键,可打开或关闭显示详细CPU统计信息

2、按字母B键,可打开或关闭当前进程的显示效果

3、top -H -p pid,查看进程pid下面的子线程

2. free命令

查看物理上空闲、已使用及交换内存情况

2.1 命令语法

free [选项]

2.2 命令选项

选项说明
-b以byte为单位显示内存使用情况
-k以KB为单位显示内存使用情况
-m以MB为单位显示内存使用情况
-o不显示缓冲区调节列
-s number持续观察内存使用情况
-t显示内存总和列

2.3 命令详解

命令执行结果:

[root@centos ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1881884      272696     1170692        9084      438496     1446824
Swap:       2097148           0     2097148

Mem # 表示物理内存统计
Swap # 表示物理内存统计(total=used+free)
used # 表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)
free # 表示空闲物理内存总数
shared # 表示共享内存
buff/cache #
available #

3. df命令

查看磁盘分区使用磁盘空间情况,默认单位为KB

3.1 命令语法

df [选项]

3.2 命令选项

选项说明
-a查看全部的文件系统
-h查看磁盘使用情况
-i查看inode使用情况

3.3 命令详解

命令执行结果:

[root@hecs-141089 bin]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        893M     0  893M   0% /dev
tmpfs           909M     0  909M   0% /dev/shm
tmpfs           909M  8.5M  900M   1% /run
tmpfs           909M     0  909M   0% /sys/fs/cgroup
/dev/vda1        40G  2.7G   35G   8% /
tmpfs           182M     0  182M   0% /run/user/0

4. ps命令

查看进程统计信息

4.1 命令语法

ps [选项]

4.2 命令选项

选项说明
-a显示当前终端下的所有进程信息,包括其他用户的进程
-u使用以用户为主的格式输出进程信息
-x显示当前用户在所有终端下的进程
-e显示系统内的所有进程信息
-l使用长格式显示进程信息
-f使用完整的格式显示进程信息
-T查看进程下面的子线程

4.3 命令详解

命令执行结果:

[root@centos ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         2     0  0 Oct31 ?        00:00:00 [kthreadd]
root         4     2  0 Oct31 ?        00:00:00 [kworker/0:0H]
root         6     2  0 Oct31 ?        00:00:00 [ksoftirqd/0]
[root@centos ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Oct31   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   Oct31   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Oct31   0:00 [ksoftirqd/0]

5. crontab命令

在指定的时间执行一个shell脚本或者一系列Linux命令

# 添加定时任务
crontab -e

# 每天早上3点运行/root/bin/backup.sh脚本
0 5 * * * /root/bin/backup.sh
# 分 时 日 月 周 命令


# 显示crontab文件
crontab -l

# 删除crontab文件
crontab -r

# 删除crontab文件前提醒用户
crontab -ir

6. 查看端口命令

6.1 netstat命令

是查看本机开放了哪些端口;本机开放的所有的端口

# 安装
yum -y install net-tools

# 列出所有端口
netstat -a

# 列出所有tcp端口
netstat -at

# 列出所有udp端口
netstat -au

6.2 lsof命令

查看端口被占用情况

# 安装
yum -y install lsof

# 查看指定端口占用情况
lsof -i:22

# 查看指定进程打开了哪些文件、加载库、依赖库
lsof -p 13306

# 查看指定目录被那个进程打开
lsof /root

6.3 ss命令

# 输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix
ss

# 查看主机监听的tcp端口信息
ss -tnl

# 查看监听的tcp连接
ss -tna

6.4 nc命令

扫描指定ip开放哪些端口

# 安装
yum -y install nc

# 查看ip指定端口是否开放
nc -z 192.168.123.75 22

# 超时等待查看ip指定端口是否开发
nc -w 3 -z 192.168.123.75 22

6.5 nmap命令

扫描指定ip端口号

nmap 192.168.123.75

7. 查看系统资源使用情况

7.1 glances命令

可以监视CPU、平均负载、内存、网络流量,磁盘I/O,其他处理器和文件、系统的利用情况

# 安装
yum install -y glances

# 使用
glances

# 退出
q

在这里插入图片描述

7.2 nethogs命令

动态查看某个进程消耗了多少流量,知道哪些进程和外面进行通信

# 安装
yum install -y nethogs

# 使用
nethogs

# 退出

在这里插入图片描述

8. 查看网络流量

8.1 tcpdump命令

抓包查看网络流量

# 安装
yum -y install tcpdump

# 监听ens192接口上的所有流量并输出到控制台
tcpdump -i ens192

# 监听ens192接口与192.168.123.245通信的所有流量并输出到控制台
tcpdump -i ens192 host 192.168.123.245

# 监听ens192接口上所有传输层协议为TCP的流量并输出到控制台
tcpdump -i ens192 tcp

# 监听ens192接口上所有端口号为80的流量并输出到控制台
tcpdump -i ens192 port 80

# 监听ens192接口上所有来自192.168.123.245的流量并输出到文件packets.pcap
tcpdump -i ens192 src 192.168.123.245 -w packets.pcap

# 监听ens192接口上所有去往192.168.123.245的流量并输出到文件packets.pcap
tcpdump -i ens192 dst 192.168.123.245 -w packets.pcap

8.2 ifconfig命令

用于配置和显示网络接口的具体状况

# 安装
yum -y install net-tools

# 显示所有已激活网卡信息
ifconfig

# 单独显示ens192网卡信息
ifconfig ens192

# 启动网卡ens192
ifconfig ens192 up

# 关闭网卡ens192
ifconfig ens192 down

# 设置能通过的最大数据包大小为 1500 bytes
ifconfig ens192 mtu 1500

# 开启网卡ens192的arp协议
ifconfig ens192 arp

#关闭网卡ens192的arp协议
ifconfig ens192 arp   

在这里插入图片描述

8.3 iftop命令

用于查看网络上的流量情况,包括实时速率、总流量、平均流量等,是一款实时流量监控工具。不记录历史数据,无报表,且只能显示从程序启动到现在的总流量。

# 安装
yum install -y iftop

# 使用
iftop

# 退出
q

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员buddha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值