Linux常用命令速查-系统监控

本文涉及:Linux中进程管理命令:ps、pstree、grep、vmstat、进程树及进程搜索,查看系统负载命令uptime,查看内存信息free命令,常用工具top命令,磁盘监控df、du命令

进程管理

查看进程

ps

常用参数:

  • -A 列出所有的行程
  • -u 指定用户的进程
  • -ef 所有进程以及启动命令
  • -aux 显示所有包含其他使用者的行程

查看进程树

pstree
搜索进程
ps -ef | grep 线程名称

查看系统负载

[root@master1 ~]# uptime
 21:50:25 up 225 days,  3:24,  3 user,  load average: 1.26, 2.05, 2.23

上述结果意义:

  • 当前时间 21:50:25
  • 系统运行时间 up 225 days, 3:24
  • 当前在线用户 3
  • 最近1分钟负载1.26、 5分钟负载2.0515分钟系统的负载

查看内存信息

free

常用参数:

  • -b 以字节为单位
  • -m 以MB为单位
  • -g 以GB为单位
  • -h 易读格式
  • -o 不显示-/+buffers/cache行
  • -t 显示RAM + swap的总和
  • -s n 刷新间隔为n秒
  • -c n 刷新n次后即退出

查看具体线程的内存信息

[root@VM_0_5_centos ~]# cat /proc/pid/maps
560dd2550000-560dd2646000 r-xp 00000000 fd:01 287702                     /usr/sbin/nginx560dd2846000-560dd2848000 r--p 000f6000 fd:01 287702                     /usr/sbin/nginx560dd2848000-560dd2861000 rw-p 000f8000 fd:01 287702                     /usr/sbin/nginx

上述结果意义:

  • 地址:库在进程里地址范围
  • 权限:虚拟内存的权限,r=读,w=写,x=,s=共享,p=私有
  • 偏移量:库在进程里地址范围
  • 设备:映像文件的主设备号和次设备号
  • 节点:映像文件的节点号
  • 路径: 映像文件的路径

Top命令

top

上述结果意义:

  • 第一行的意义与uptime相似
  • 第二行表示进程的相关信息:系统现在共有198个进程,其中处于运行中的有2个,196个在休眠,停止状态的有0个,僵尸状态的0个
  • 第三行表示CPU相关信息:us: 运行用户进程的CPU时间,sy: 运行内核进程的CPU时间,ni:运行已调整优先级的用户进程的CPU时间,wa: 用于等待IO完成的CPU时间,hi:处理硬件中断的CPU时间,si: 处理软件中断的CPU时间,st:hypervisor使用的CPU时间
  • 第四行表示物理内存的相关信息:可参考free命令
  • 第五行表示虚拟内存的相关信息
  • 接下来是各进程状态:
    • PID:进程ID
    • USER:进程所有者的实际用户名
    • PR:进程的调度优先级
    • NI:进程的(优先级)
    • VIRT:进程使用的虚拟内存
    • RES:未被换出的物理内存大小
    • SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
    • S:进程的状态
    • %CPU:自从上一次更新时到现在任务所使用的CPU时间百分比
    • MEM:进程使用的可用物理内存百分比
    • TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
    • COMMAND:运行进程所使用的命令

常用参数:

  • d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
  • p:通过指定监控进程ID来仅仅监控某个进程的状态。
  • q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
  • S:指定累计模式。
  • s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
  • i:使top不显示任何闲置或者僵死进程。
  • c:显示整个命令行而不只是显示命令名。

常用命令介绍:

  • Ctrl+L:擦除并且重写屏幕
  • K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
  • i:忽略闲置和僵死进程。这是一个开关式命令。
  • q:退出程序
  • r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
  • S:切换到累计模式。
  • s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
  • f或者F:从当前显示中添加或者删除项目。
  • o或者O:改变显示项目的顺序
  • l:切换显示平均负载和启动时间信息。
  • m:切换显示内存信息。
  • t:切换显示进程和CPU状态信息。
  • c:切换显示命令名称和完整命令行。
  • M:根据驻留内存大小进行排序。
  • P:根据CPU使用百分比大小进行排序。
  • T:根据时间/累计时间进行排序。
  • W:将当前设置写入~/.toprc文件中。

vmstat命令

vmstat

上述结果意义:

  • r:等待运行的进程个数
  • b:IO阻塞队列长度
  • swpd:交换内存使用
  • ree:空闲物理内存量
  • buff:用于buffer的内存总量
  • cache:用于cache的内存总量
  • si:数据进入swap中的速率(kb/s)
  • so:数据离开swap的速率(kb/s)
  • bi:从块设备读入数据到系统的速率
  • bo:保存数据至块设备的速率
  • in:interrupts 中断速率,每秒被中断的次数
  • cs:context switch 进程切换的速率
  • us:user space 用户运行程序占用CPU百分比
  • sy:system(kernel space)用于运行内核占用CPU的百分比
  • id:idle空闲CPU百分比
  • wa:wait io等待I/O花费时间
  • st:stolen,被虚拟机偷走的百分比

常用参数:

  • -s:显示内存统计数据
  • -S k, K, m or M 指定单位
  • x y:每隔x秒刷新y次

查看磁盘使用情况

df
Filesystem     1K-blocks    Used Available Use% Mounted on/dev/vda1       51473888 1930336  46905804   4% /devtmpfs          497168       0    497168   0% /devtmpfs             507780      24    507756   1% /dev/shmtmpfs             507780     448    507332   1% /runtmpfs             507780       0    507780   0% /sys/fs/cgrouptmpfs             101560       0    101560   0% /run/user/0

常用参数:

  • -a:显示所有的文件系统,包括虚拟文件系统
  • -h:以人们易读的GB、MB、KB等格式

查看具体目录磁盘占用

du
4  ./lib4  ./games4  ./src4  ./libexec4  ./bin4  ./etc24  .

上述结果意义:

  • 左侧数字4是代表右侧子目录的大小
  • 最下面24代表当前目录的大小

常用参数:

  • -a 显示目录中个别文件的大小
  • -k 以KB(1024bytes)为单位输出
  • -m 以MB为单位输出
  • -h 以K,M,G为单位,提高信息的可读性。

原文发布于微信公众号 - Java学习录(Javaxuexilu)

原文发表时间:2019-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券