资讯详情

linux常用命令与问题排查命令记录

文章目录

    • 1. 硬件相关
      • 1.1 网卡
      • 1.2 内存
        • 1.2.1 free - 查看系统内存信息
          • 1.2.1.1 使用方式
          • 1.2.1.2 举例说明
        • 1.2.2 vmstat - 虚拟内存统计
          • 1.2.2.1 使用方式
          • 1.2.2.2 举例说明
            • 1.2.2.2.1 使用虚拟内存显示虚拟内存
            • 1.2.2.2.2 显示活跃和非活跃内存
            • 1.2.2.2.3 查看内存使用的详细信息
      • 1.3 numa
      • 1.4 超线程
      • 1.5 时钟源
      • 1.6 raid
      • 1.7 文件
      • 1.8 磁盘
        • 1.8.1 iostat - I/O信息统计
          • 1.8.1.1 使用方式
          • 1.8.1.2 举例说明
            • 1.8.1.2.1 显示所有设备的负载情况
            • 1.8.1.2.2 所有信息定期显示
            • 1.8.1.2.3 磁盘统计信息只显示
            • 1.8.1.2.4 查看扩展信息
            • 1.8.1.2.5 只查看CPU的统计信息
        • 1.8.2 iotop - 磁盘的动态显示I/O统计信息
          • 1.8.2.1 使用方式
          • 1.8.2.2 举例说明
      • 1.9 sn
      • 1.10 CPU
        • 1.10.1 mpstat - CPU信息统计
          • 1.10.1.1 使用方式
          • 1.10.1.2 举例说明
            • 1.10.1.2.1 显示CPU信息统计
            • 1.10.1.2.2 显示指定CPU信息的统计
      • 1.11 sar - 收集系统信息
        • 1.11.1 使用方式
        • 1.11.2 举例说明
          • 1.11.2.1 查看系统CPU整体负
          • 1.11.2.2 显示运行队列的大小
          • 1.11.2.3 显示系统内存的使用状态
          • 1.11.2.4 显示缓冲区的使用情况
          • 1.11.2.5 显示网络的运行状态
          • 1.11.2.6 检查系统磁盘的读写性能
    • 2. 容器相关
      • 2.1 docker
      • 2.2 kubernetes
    • 3. 快捷方式
      • 3.1 切屏
      • 3.2 快速命令
      • 3.3 vim快捷方式
    • 4. 问题排查相关
      • 4.1 流程管理命令
        • 4.1.1 ps - 查看进程
          • 4.1.1.1 使用方式
          • 4.1.1.2 命令输出后第一行参数的解释
        • 4.1.2 kill - 结束进程
          • 4.1.2.1 使用方式
          • 4.1.2.2 举例说明
            • 4.1.2.2.1 列出所有信号的名称
            • 4.1.2.2.2 终止进程
        • 4.1.3 killall - 流程通过流程名终止
          • 4.1.3.1 使用方式
          • 4.1.3.2 举例说明
            • 4.1.3.2.1 定期任务服务流程终止
            • 4.1.3.2.2 终止指定用户的所有过程
        • 4.1.4 pkill - 流程通过流程名终止
          • 4.1.4.1 使用方式
          • 4.1.4.2 举例说明
            • 4.1.4.2.1 流程通过流程名终止
            • 4.1.4.2.2 通过终端名终止流程
            • 4.1.4.2.3 用户名终止流程
        • 4.1.5 top - 实时显示系统中各过程的资源占用情况
          • 4.1.5.1 使用方式
          • 4.1.5.2 举例说明
            • 4.1.5.2.1 显示过程信息
            • 4.1.5.2.2 按使用内存排序
            • 4.1.5.2.3 过程信息以批处理模式显示
            • 4.1.5.2.4 显示过程的完整路径
            • 4.1.5.2.5 补充其他用途
        • 4.1.6 nohup - 用户退出系统的过程继续工作
          • 4.1.6.1 使用方式
          • 4.1.6.2 举例说明
        • 4.1.7 strace - 系统调用跟踪过程
          • .1.7.1 使用方式
          • 4.1.7.2 举例说明
            • 4.1.7.2.1 排查Nginx 403 forbidden错误
            • 4.1.7.2.2 只跟踪与文件操作有关的系统调用(使用过滤器)
            • 4.1.7.2.3 通过pid跟踪进程
            • 4.1.7.2.4 跟踪系统调用统计
            • 4.1.7.2.5 重定向输出
            • 4.1.7.2.6 对系统调用进行计时
        • 4.1.8 ltrace - 跟踪进程调用库函数
          • 4.1.8.1 使用方式
          • 4.1.8.2 举例说明
    • 5. 网络相关
      • 5.1 tcpdump - 监听网络流量
        • 5.1.1 使用方式
        • 5.1.2 举例说明
          • 5.1.2.1 不加参数运行tcpdump命令监听网络
          • 5.1.2.2 精简输出信息
          • 5.1.2.3 监听指定网卡收到的数据包
          • 5.1.2.4 监听指定主机的数据包
          • 5.1.2.5 监听指定端口的数据包
          • 5.1.2.6 监听指定协议的数据包
          • 5.1.2.7 利用tcpdump抓包详解tcp/ip连接和断开过程的案例
      • 5.2 nmap - 网络探测工具和安全/端口扫描器
        • 5.2.1 使用方式
        • 5.2.2 举例说明
          • 5.2.2.1 查看主机当前开放的端口
          • 5.2.2.2 扫描主机的指定端口
          • 5.2.2.3 扫描局域网内所有的IP
          • 5.2.2.4 探测目标主机的服务和操作系统的版本

1. 硬件相关

1.1 网卡

lspci | grep -i eth		#查询网卡信息,可查询网卡数量,型号等
ethtool ethX 		 	#查询eth*网口基本信息
ethtool –i ethX     	#查询ethX网口的相关信息
ethtool –d ethX   		#查询ethX网口注册性信息
ethtool –S ethX  		#查询ethX网口收发包统计
dmesg | grep -i eth

//更改网卡名:前提网卡down掉且onboot=yes
ip link set [$现在的名字] name [$预期的名字]	#重启会失效

//查询网口对应的交换机口
tcpdump -i eth0 -c 1 -n -e -v ether proto 0x88cc 2>/dev/null | egrep 'Subtype Interface Name|System Name'|awk -F':' '{print $2}'

1.2 内存

1.2.1 free - 查看系统内存信息

1.2.1.1 使用方式
参数选项 解释说明
-b 以Byte为单位显示内存的使用情况
-m 以MB为单位显示内存的使用情况@
-K 以KB为单位显示内存的使用情况
-h 以人类可读的形式显示内存的使用情况@
-t 显示内存总和列
-s <间隔秒数> 根据指定的间隔秒数持续显示内存的使用情况@
-o 不显示系统缓冲区列
1.2.1.2 举例说明

(1)查看系统内存

[root@nginx ~]# free  #不加参数默认显示的是字节数,很难读懂
             total       used       free     shared    buffers     cached
Mem:       1004412      85788     918624          0       6168      22904
-/+ buffers/cache:      56716     947696
Swap:      2031608          0    2031608
[root@nginx ~]# free -m   #使用-m选项,以MB为单位显示内存的使用情况
             total       used       free     shared    buffers     cached
Mem:           980         83        897          0          6         22
-/+ buffers/cache:         55        925
Swap:         1983          0       1983

(2)定时查询内存

[root@nginx ~]# free -s 10    #使用-s选项定时刷新内存的使用情况,单位为秒
             total       used       free     shared    buffers     cached
Mem:       1004412      85888     918524          0       6168      22932
-/+ buffers/cache:      56788     947624
Swap:      2031608          0    2031608

(3)检查使用超过100m的进程

cat /proc/slabinfo |awk '{if($3*$4/1024/1024 > 100){print $1,$3*$4/1024/1024} }'

1.2.2 vmstat - 虚拟内存统计

1.2.2.1 使用方式
参数选项 解释说明
-a 显示活跃和非活跃内存
-f 显示从系统启动至今的fork进程数量
-m 显示slab信息
-n 只在开始时显示一次各字段名称
-s 显示内存相关统计信息及多种系统活动数量@
-d 显示磁盘相关统计信息
-p 显示指定磁盘分区统计信息
-S 使用指定单位显示。参数有k,K,m,M,分别代表1000,1024,1000000,1048576字节(byte)。默认单位为K(1024byte)
-t 统计信息带上时间戳
1.2.2.2 举例说明
1.2.2.2.1 显示虚拟内存的使用情况
[root@nginx ~]# vmstat    		#如果省略“间隔时间”和“次数”的参数,则仅显示一次报告后就退出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22900    0    0  1188    54  203  474  2  6 90  1  0
[root@nginx ~]# vmstat 5 		#表示每5秒钟更新一次输出信息,循环输出,按Ctrl + C组合键停止输出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22928    0    0   343    24   64  144  1  2 97  0  0    
[root@nginx ~]# vmstat 5 6    	#表示每5秒钟更新一次输出信息,统计6次后停止输出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22928    0    0   781    53  137  316  1  4 94  1  0
  • 第1列:procs
    • r列表示运行和等待CPU时间片的进程数。
    • b列表示正在等待资源的进程数。
  • 第2列:memory
    • swpd列表示使用虚拟内存的大小。
    • free列表示当前空闲的物理内存数量.
    • buff列表示buffers的内存数量.
    • cache列表示cache的内存数量.
  • 第3列:swap
    • si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
    • so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
  • 第4列:I/O项显示磁盘读写状况
    • bi列表示从块设备读入数据的总量(即读磁盘)(块/s)
    • bo列表示写入块设备的数据总量(即写磁盘))(块/s)
  • 第5列:system显示采集间隔内发生的中断数
    • in列表示在某一时间间隔中观测到的每秒设备中断数。
    • cs列表示每秒产生的上下文切换次数。
  • 第6列:CPU项显示了CPU的使用状态
    • us列显示了用户进程消耗的CPU时间百分比。
    • sy列显示了系统(内核)进程消耗的CPU时间百分比。
    • id列显示了CPU处在空闲状态的时间百分比。
    • wa列显示了I/O等待所占用的CPU时间百分比
    • st列显示了虚拟机占用的CPU时间的百分比。
1.2.2.2.2 显示活跃和非活跃内存
[root@nginx ~]# vmstat -a 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915324  19284  18180    0    0     5     0    6    9  0  0 100  0  0   
 0  0      0 915284  19284  18180    0    0     0     0   10    9  0  0 100  0  0   
 0  0      0 915284  19284  18180    0    0     0     0   10   10  0  0 100  0  0   
 0  0      0 915284  19284  18212    0    0     0     0    9   10  0  0 100  0  0   
 0  0      0 915284  19284  18212    0    0     0     0    9   11  0  0 100  0  0
1.2.2.2.3 查看内存使用的详细信息
[root@nginx ~]# vmstat -s
      1004412  total memory
        89096  used memory
        18196  active memory
        19268  inactive memory
       915316  free memory
         8816  buffer memory
        23244  swap cache
      2031608  total swap
            0  used swap
      2031608  free swap
      ......

这些信息分别来自于/proc/meminfo,/proc/stat和/proc/vmstat

[root@nginx ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0
sr0       33      0     264      47      0      0       0       0      0      0
sda     2144   1571   70016     659    411    452    6898     277      0      0
dm-0    2786      0   62426    1755    854      0    6832     583      0      0
dm-1     287      0    2296      35      0      0       0       0      0      0

这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,系统一般会把多个连接/邻近的读/写请求合并到一起来操作。

(5)查看/dev/sda1磁盘的读写统计信息

[root@nginx ~]# vmstat -p /dev/sda1
sda1          reads   read sectors  writes    requested writes
                 431       3518          9         66
  • 说明:
  • reads:来自于该分区的读的次数
  • read sectors:来自于该分区的读扇区的次数
  • writes:来自于该分区的写的次数
  • requested writes:来自于该分区的写请求次数。

1.3 numa

lscpu | grep -i numa	#查询numa开关,1为关闭
dmesg | grep -i numa	#同上

1.4 超线程

//检查超线程的开关
grep 'siblings' /proc/cpuinfo
grep 'cpu cores' /proc/cpuinfo
如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。
如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。

1.5 时钟源

chronyc -n sources -v
cat /etc/ntp.conf

1.6 raid

storcli64 /c0 show				#查看磁盘模式与raid
storcli64 /c0/v0 delete			#清空raid组
storcli64 /c0 set jbod=on		#设置jbod
storcli64 /c0/eall/sall show	#显示控制器为0的所有物理磁盘信息

//设置raid模式 = ‘8:4-1’根据环境情况而定
storcli64 /c0 add vd type=raid1 size=all names=t1 drives=8:4-1

1.7 文件

//过滤大文件
find . -type f -size +200M -print | xargs ls -lh

//权限
chmod 755 test				#将文件设置为755权限
chown	admin:admin test	#将文件的属组属主设置为admin

1.8 磁盘

e2label /dev/sda3		#查看磁盘标签
lsblk					#查看磁盘大小,分区,挂载
df -hT					#查看磁盘大小,分区,挂载,格式,使用量

1.8.1 iostat - I/O信息统计

1.8.1.1 使用方式
参数选项 解释说明
-c 显示CPU的使用情况@
-d 显示磁盘的使用情况@
-k 每秒以kB为单位显示数据
-m 每秒以MB为单位显示数据
-n 显示NFS的使用情况
-t 显示每次统计的执行时间
-p device 指定要统计的磁盘设备名称,默认为所有的磁盘设备
-x 显示扩展统计
1.8.1.2 举例说明
1.8.1.2.1 显示所有设备的负载情况
[root@nginx ~]# iostat    #如果省略“时间间隔”和“次数”参数,则仅显示一次报告后就退出
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.02    0.00    0.05    0.01    0.00   99.93

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.13         0.00       1976          0
sda               0.34        28.21         7.76     445866     122724
dm-0              1.30        27.73         7.76     438306     122664
dm-1              0.02         0.15         0.00       2296          0
  • 以下是命令结果说明
  • %user : 用户进程消耗的CPU时间百分比
  • %nice : 改变过优先级的进程占用的CPU时间百分比
  • %system : 系统(内核)进程消耗的CPU时间百分比
  • %iowait : IO等待所占用的CPU时间百分比
  • %steal : 虚拟机强制CPU等待的时间百分比
  • %idle : CPU处在空闲状态的时间百分比
  • tps : 表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
  • Blk_read/s : 表示每秒读取的数据块数
  • Blk_wrtn/s : 表示每秒写入的数据块数
  • Blk_read : 表示读取的所有块数
  • Blk_wrtn : 表示写入的所有块数
1.8.1.2.2 定时显示所有信息
[root@nginx ~]#  iostat 2 3   #每隔2秒刷新显示一次,共显示3次
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.04    0.00    0.00   99.94

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.09         0.00       1976          0
sda               0.25        19.82         5.51     445866     123988
dm-0              0.92        19.48         5.51     438306     123928
dm-1              0.01         0.10         0.00       2296          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.00         0.00          0          0
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.50    0.00    0.00   99.50

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.00         0.00          0          0
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
1.8.1.2.3 只显示磁盘统计信息
[root@nginx ~]# iostat -d #选项-d只显示磁盘的统计信息
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.09         0.00       1976          0
sda               0.24        19.50         5.43     445866     124108
dm-0              0.91        19.17         5.42     438306     124048
dm-1              0.01         0.10         0.00       2296          0
[root@nginx ~]# iostat -d -k  #选项-k以KB为单位显示数据
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0              0.02         0.04         0.00        988          0
sda               0.24         9.72         2.70     222933      62054
dm-0              0.91         9.55         2.70     219153      62024
dm-1              0.01         0.05         0.00       1148          0
[root@nginx ~]# iostat -d -m  #选项-m以MB为单位显示数据
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
scd0              0.02         0.00         0.00          0          0
sda               0.24         0.01         0.00        217         60
dm-0              0.90         0.01         0.00        214         60
dm-1              0.01         0.00         0.00          1          0
1.8.1.2.4 查看扩展信息
[root@nginx ~]# iostat -d -x -k   #选项-x显示扩展信息
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
scd0              0.00     0.00    0.02    0.00     0.04     0.00     5.41     0.00    1.09   1.09   0.00
sda               0.08     0.61    0.18    0.05     9.49     2.65   102.62     0.00    0.79   0.42   0.01
dm-0              0.00     0.00    0.22    0.66     9.33     2.65    27.03     0.01    6.17   0.11   0.01
dm-1              0.00     0.00    0.01    0.00     0.05     0.00     8.00     0.00    0.24   0.13   0.00
  • 命令结果说明
  • rrqm/s:每秒进行merge的读操作数目
  • wrqm/s:每秒进行merge的写操作数目
  • r/s:每秒完成的读I/O设备次数
  • w/s:每秒完成的写I/O设备次数
  • rkB/s:每秒读入的千字节数
  • wkB/s:每秒写入的千字节数
  • avgrq-sz:设备平均每次进行I/O操作的数据大小(扇区)
  • avgqu-sz:平均I/O队列长度
  • await:设备平均每次I/O操作的等待时间(毫秒)
  • svctm:设备平均每次I/O操作的服务时间(毫秒)
  • %util:每秒钟用于I/O操作的百分比
1.8.1.2.5 只查看CPU的统计信息
[root@nginx ~]# iostat -c #使用-c选项只显示系统CPU的统计信息
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.04    0.00    0.00   99.95

1.8.2 iotop - 动态显示磁盘I/O统计信息

1.8.2.1 使用方式
参数选项 解释说明
-o 显示正在使用I/O的进程或者线程,默认是显示所有@
-d 设置显示的间隔秒数
-p 只显示指定PID的信息@
-u 显示指定用户的信息
-P 只显示进程,一般是显示所有的线程
-a 显示从iotop启动后每个线程完成了的I/O总数
-k 设置显示单位为KB
-t 在每一行前添加一个当前的时间
1.8.2.2 举例说明
  • 不接任何参数启动iotop命令
[root@nginx ~]# iotop     

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                      
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cgroup]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
   11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [async/mgr]
   12 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [pm]
   13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [sync_supers]
   14 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bdi-default]
   15 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kintegrityd/0]
   16 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kblockd/0]
   17 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpid]
   18 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_notify]
   19 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_hotplug]
   20 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata_aux]
   21 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata_sff/0]
   22 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksuspend_usbd]
   23 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khubd]
   24 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kseriod]
  • 命令结果说明
  • Total DISK READ:总的磁盘读取速度
  • Total DISK WRITE:总的磁盘写入速度
  • TID:进程pid值
  • PRIO:优先级
  • USER:用户
  • DISK READ:磁盘读取速度
  • DISK WRITE:磁盘写入速度
  • SWAPIN:从swap分区读取数据占用的百分比
  • IO:I/O占用的百分比
  • COMMAND:消耗I/O的进程名

1.9 sn

dmidecode |grep "Serial Number"
或
dmidecode -t 1 

1.10 CPU

1.10.1 mpstat - CPU信息统计

1.10.1.1 使用方式
参数选项 解释说明
-P 指定CPU编号,例如:-P 0表示第一个CPU,-P 1表示第二个CPU,-P ALL表示所有CPU
1.10.1.2 举例说明
1.10.1.2.1 显示CPU信息统计
[root@nginx ~]# mpstat    		#如果省略“时间间隔”和“次数”参数,则仅显示一次报告后就退出
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

06:13:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:13:34 PM  all    0.01    0.00    0.06    0.01    0.00    0.00    0.00    0.00   99.93
[root@nginx ~]# mpstat 5 6    	#表示每5秒更新一次输出信息,统计6次后停止输出。
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

06:15:16 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:15:21 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:26 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:31 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:36 PM  all    0.00    0.00    0.20    0.00    0.00    0.00    0.00    0.00   99.80
06:15:41 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:46 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
Average:     all    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00   99.97

第1列:06:13:34 PM,表示当前时间 第2列:CPU,all表示所有CPU,0表示第一个CPU… 后面9列的含义分别如下:

  • %usr:用户进程消耗的CPU时间百分比。
  • %nice:改变过优先级的进程占用的CPU时间百分比
  • %sys:系统(内核)进程消耗的CPU时间百分比
  • %iowait:IO等待所占用的CPU时间百分比
  • %irq:硬中断占用的CPU时间百分比
  • %soft:软中断占用的CPU时间百分比
  • %steal:虚拟机强制CPU等待的时间百分比
  • %guest:虚拟机占用CPU时间的百分比
  • %idle:CPU处于空闲状态的时间百分比
1.10.1.2.2 显示指定CPU信息的统计
[root@nginx ~]# mpstat -P 0   #显示第一个CPU信息
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

06:29:46 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:29:46 PM    0    0.01    0.00    0.05    0.01    0.00    0.00    0.00    0.00   99.93

1.11 sar - 收集系统信息

1.11.1 使用方式

参数选项 解释说明
-A 显示系统所有资源设备(CPU,内存,磁盘)的运行状态
-u 显示系统所有CPU在采样时间内的负载状态@
-P 显示当前系统中指定CPU的使用情况
-d 显示系统所有硬盘设备在采样时间内的使用状况@
-r 显示在采样时间内系统内存的使用状况@
-b 显示在采样时间内缓冲区的使用情况@
-v 显示索引节点,文件和其他内核表的状态
-n 显示网络运行状态@
-q 显示运行队列的大小,它与系统当时的平均负载相同@
-R 显示进程在采样时间内的活动情况
-y 显示终端设备在采样时间内的活动情况
-w 显示系统交换活动在采样时间内的状态
-o filename 将命令结果以二进制格式存放在文件中,filename是文件名

1.11.2 举例说明

1.11.2.1 查看系统CPU的整体负载情况
[root@nginx ~]# sar -u 2 3
Linux 2.6.32-431.el6.x86_64 (test)   03/10/2018  _x86_64_    (1 CPU)

11:44:34 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:44:36 PM     all      0.00      0.00      1.00      0.00      0.00     99.00
11:44:38 PM     all      0.00      0.00      0.50      0.00      0.00     99.50
11:44:40 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.50      0.00      0.00     99.50
  • 命令结果说明
  • %user:用户进程消耗的CPU时间百分比
  • %nice:改变过优先级的进程占用的CPU时间百分比
  • %system:系统(内核)进程消耗的CPU时间百分比
  • %iowait:IO等待所占用的CPU时间百分比
  • steal:虚拟机强制CPU等待的时间百分比
  • idle:CPU处在空闲状态的时间百分比
1.11.2.2 显示运行队列的大小
[root@nginx ~]# sar -q 2 3  #使用-q选项显示运行队列的大小
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

04:59:18 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
04:59:20 PM         0        69      0.00      0.00      0.00
04:59:22 PM         0        69      0.00      0.00      0.00
04:59:24 PM         0        70      0.00      0.00      0.00
Average:            0        69      0.00      0.00      0.00
  • 命令结果的详解说明
  • runq-sz:运行队列的长度(等待运行的进程数)
  • plist-sz:进程列表中进程(process)和线程(thread)的数量
  • ldavg-1:最后一分钟的系统平均负载(system load average)
  • ldavg-5:过去5分钟的系统平均负载
  • ldavg-15:过去15分钟的系统平均负载
1.11.2.3 显示系统内存的使用状况
[root@nginx ~]# sar -r 2 3  #使用-r选项显示系统内存在采样时间内的使用状况
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:03:44 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
05:03:46 PM    913012     91400      9.10     11136     23324     43344      1.43
05:03:48 PM    913012     91400      9.10     11136     23324     43344      1.43
05:03:50 PM    913012     91400      9.10     11136     23324     43344      1.43
Average:       913012     91400      9.10     11136     23324     43344      1.43
  • 以下命令结果的详细说明
  • kbmemfree:空闲物理内存量
  • kbmemused:使用中的物理内存量
  • %memused:物理内存量的使用率
  • kbbuffers:内核中作为缓冲区使用的物理内存容量
  • kbcached:内核中作为缓存使用的物理内存容量
  • kbcommit:应用程序当前使用的内存大小
  • %commit:应用程序当前使用的内存大小占总大小的使用百分比
1.11.2.4 显示缓冲区的使用情况
[root@nginx ~]# sar -b 2 3  #使用-b选项显示缓冲区在采样时间内的使用情况
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:15:01 PM       tps      rtps      wtps   bread/s   bwrtn/s
05:15:03 PM      0.00      0.00      0.00      0.00      0.00
05:15:05 PM      0.00      0.00      0.00      0.00      0.00
05:15:07 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00
  • 以下是命令的详细结果说明
  • tps:每秒钟物理设备的I/O传输总量
  • rtps:每秒钟从物理设备读入的数据总量
  • wtps:每秒钟向物理设备写入的数据总量
  • bread/s:每秒钟从物理设备读入的数据量,单位为块/s
  • bwrtn/s:每秒钟向物理设备写入的数据量,单位为块/s
1.11.2.5 显示网络的运行状态

(1)

[root@nginx ~]# sar -n DEV 2 3  #使用-n DEV显示网络接口的信息
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:22:13 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:15 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:15 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:15 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:22:15 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:17 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:17 PM      eth0      0.50      0.50      0.03      0.24      0.00      0.00      0.00
05:22:17 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:22:17 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:19 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:19 PM      eth0      0.50      0.50      0.03      0.24      0.00      0.00      0.00
05:22:19 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.33      0.33      0.02      0.16      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  • 命令结果说明
  • IFACE:网络接口
  • rxpck/s:每秒钟接收的数据包
  • txpck/s:每秒钟发送的数据包
  • rxkB/s:每秒钟接收的字节数
  • txkB/s:每秒钟发送的字节数
  • rxcmp/s:每秒钟接收的压缩数据包
  • txcmp/s:每秒钟发送的压缩数据包
  • rxmcst/s:每秒钟接收的多播数据包

(2)

[root@nginx ~]# sar -n EDEV 2 3 #使用-n EDEV显示网络错误的统计数据
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:32:03 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:05 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:05 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:05 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:32:05 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:07 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:07 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:07 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:32:07 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:09 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:09 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:09 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  • 以下是命令结果的详细说明
  • IFACE:网络接口
  • rxerr/s:每秒钟接收的坏数据包
  • txerr/s:每秒钟发送的坏数据包
  • coll/s:每秒的冲突数
  • rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
  • txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
  • txcarr/s:发送数据包时,每秒载波错误数
  • rxfram/s:每秒接收数据包的帧对齐错误数
  • rxfifo/s:接收的数据包每秒FIFO过速的错误数
  • txfifo/s:发送的数据包每秒FIFO过速的错误数

(3)

[root@nginx ~]# sar -n SOCK 2 3   #使用-n SOCK显示套接字信息
Linux 2.6.32-431.el6.x86_64 (test)   03/14/2018  _x86_64_    (1 CPU)

05:42:12 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
05:42:14 PM       281         2         0         0         0         0
05:42:16 PM       281         2         0         0         0         0
05:42:18 PM       281         2         0         0         0         0
Average:          281         2         0         0         0         0
  • 命令结果说明
  • totsck:使用的套接字总数量
  • tcpsck:使用的TCP套接字数量
  • udpsck:使用的UDP套接字数量
  • rawsck:使用的raw套接字数量
  • ip-frag:使用的IP段数量
  • tcp-tw:处于TIME_WAIT状态的TCP套接字数量
1.11.2.6 查看系统磁盘的读写性能
[root@nginx ~]# sar -d 2 3    #使用-d选项显示系统所有硬盘设备在采样时间内的使用状况
Linux 2.6.32-431.el6.x86_64 (test)   03/14/2018  _x86_64_    (1 CPU)

05:47:59 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:01 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:48:01 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:03 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:48:03 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:05 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  • 以下是命令结果的详细说明
  • DEV:表示磁盘的设备名称
  • tps:表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
  • rd_sec/s:表示每秒从设备读取的扇区数
  • wr_sec/s:表示每秒写入设备的扇区数目
  • avgrq-sz:设备平均每次I/O操作的数据大小(扇区)
  • avgqu-sz:平均I/O队列长度
  • await:设备平均每次I/O操作的等待时间(毫秒)
  • svctm:设备平均每次I/O操作的服务时间(毫秒)
  • %util:每秒钟用于I/O操作的百分比

2. 容器相关

2.1 docker

docker logs [$container_id]								#查看容器日志信息
docker exec -it [$container_id] bash					#进入容器内
docker rm [$container_id]								#删除容器
docker rmi [$container_id]								#删除镜像
docker stop(start/restart) [$container_id]				#停止(启动/重启)容器
docker save -o [$xxx.tar] [$镜像名称]:[$镜像tag]			#打包镜像文件
docker images											#查看所有镜像
docker ps (-a)	 	 									#查看容器(-a可查看已经退出的容器)
docker pull(push) [$镜像名称]:[$镜像tag]					#拉取/上传镜像
docker run -it [$container_id]							#启动容器
docker cp [$container_id]:[$文件绝对路径] [文件存放路径]	#复制文件
docker kill [$container_id]								#杀死正在运行的容器
docker stats [$container_id]	  						#显示一个容器的实时资源占用
docker pause  [$container_id]							#暂停容器内所有进程
docker unpause  [$container_id]							#恢复容器内被所有暂停的进程
docker logs -f -t --tail=100 [$container_id]	 		#查看容器后百行日志
docker version 											#查看docker版本
docker info												#查看docker系统信息

2.2 kubernetes

kubectl get nodes				#查询节点
kubectl get pod -A				#查询pod,-n可通过命名空间查看对应命名空间内的pod
kubectl get cs
kubectl get ns					#查询命名空间
kubectl describe po {pod_name} 	#查看pod的基础信息
kubectl cluster-info 			#查看k8s集群的信息
kubectl version					#查看版本
kubectl logs {pod_name} -n {namespace}				#查看pod日志
kubectl run pod --image={image_name} -n {namespace}	#运行pod
kubectl delete pod {pod_name} -n {namespace} 		#删除pod

3. 快捷方式

3.1 切屏

screen -dmS test #创建名为test的切屏
screen -x test	 #进入切屏
ctrl +a+d		 #退出切屏
screen  -ls		 #查看创建的切屏

3.2 命令行快捷方式

//每输入一个字符,终端都会滚动显示历史命令。提示:(reverse-i-search), 
Ctrl + r

//移动操作快捷键
ESC + f			#向右移动一个单词,MAC下建议用ALT + →
ESC + b			#向左移动一个单词,MAC下建议用ALT + ←
Ctrl + a		#跳到行首
Ctrl + e		#跳到行尾

//删除操作快捷键
Ctrl + d		#向右删除一个字符
Ctrl + h		#向左删除一个字符
Ctrl + u		#删除当前位置字符至行首(输入密码错误的时候多用下这个)
Ctrl + k		#删除当前位置字符至行尾
Ctrl + w		#删除从光标到当前单词开头

3.3 vim快捷方式

https://blog.csdn.net/m0_51777056/article/details/125188844?spm=1001.2014.3001.5501

4. 问题排查相关

4.1 进程管理命令

4.1.1 ps - 查看进程

4.1.1.1 使用方式
参数选项 解释说明
-a 显示所有终端下执行的进程
a 显示与终端相关的所有进程,包含每个进程的完整路径
x 显示与终端无关的所有进程
u 显示进程的用户信息
-u 显示指定用户相关的进程信息
-e 显示所有进程
-f 额外显示UID,PPID,C与STIME栏位
f 显示进程树
-H 显示进程树
-l 以详细的格式来显示进程的状况
-o 自定义输出指定的字段,以逗号分隔
-sort key key表示为指定字段排序,默认升序,+key升序,-key降序
4.1.1.2 命令输出后第一行参数的解释说明
  1. ps
[root@test1 ~]# ps
   PID TTY          TIME CMD
  1135 pts/0    00:00:00 bash
  1152 pts/0    00:00:00 bash
  1162 pts/0    00:00:00 bash
  1173 pts/0    00:00:00 bash
  1182 pts/0    00:00:00 ps
  • PID是进程的标识号
  • TTY是进程所属的终端控制台
  • TIME列是进程所使用的总的CPU时间
  • CMD列是正在执行的命令行
  1. ps -ef
[root@test1 ~]# ps -ef    # -e显示所有进程,-f格外显示UID,PPID,C与STIME栏位
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 15:00 ?        00:00:00 /sbin/init
root          2      0  0 15:00 ?        00:00:00 [kthreadd]
root          3      2  0 15:00 ?        00:00:00 [migration/0]
root          4      2  0 15:00 ?        00:00:00 [ksoftirqd/0]
root          5      2  0 15:00 ?        00:00:00 [migration/0]
root          6      2  0 15:00 ?        00:00:00 [watchdog/0]
root          7      2  0 15:00 ?        00:00:00 [events/0]
root          8      2  0 15:00 ?        00:00:00 [cgroup]
root          9      2  0 15:00 ?        00:00:00 [khelper]
root         10      2  0 15:00 ?        00:00:00 [netns]
root         11      2  0 15:00 ?        00:00:00 [async/mgr]
root         12      2  0 15:00 ?        00:00:00 [pm]
root         13      2  0 15:00 ?        00:00:00 [sync_supers]
root         14      2  0 15:00 ?        00:00:00 [bdi-default]
root         15      2  0 15:00 ?        00:00:00 [kintegrityd/0]
root         16      2  0 15:00 ?        00:00:00 [kblockd/0]
root         17     

标签: 3968连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台