前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux常用命令速查-系统监控

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

作者头像
Java学习录
发布2019-04-22 17:19:45
8920
发布2019-04-22 17:19:45
举报
文章被收录于专栏:Java学习录

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

进程管理

查看进程

代码语言:javascript
复制
ps

常用参数:

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

查看进程树

代码语言:javascript
复制
pstree
搜索进程
代码语言:javascript
复制
ps -ef | grep 线程名称

查看系统负载

代码语言:javascript
复制
[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分钟系统的负载

查看内存信息

代码语言:javascript
复制
free

常用参数:

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

查看具体线程的内存信息

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

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

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

查看磁盘使用情况

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

查看具体目录磁盘占用

代码语言:javascript
复制
du
4  ./lib4  ./games4  ./src4  ./libexec4  ./bin4  ./etc24  .

上述结果意义:

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

常用参数:

  • -a 显示目录中个别文件的大小
  • -k 以KB(1024bytes)为单位输出
  • -m 以MB为单位输出
  • -h 以K,M,G为单位,提高信息的可读性。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习录 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搜索进程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档