top、free、vmstat、iostat、pmap、glances、dstat、iotop、lsofcss
动态监控系统状态 ,在命令行输入top,界面以下ios
首部信息显示隐藏开关web
排序:shell
管理指令:编程
####7.5.1 htop命令:EPEL源
与top命令类似,UI设计前卫一些缓存
内存空间使用状态bash
格式:free[OPTION]服务器
选项
-b:以字节为单位
-m:以MB为单位
-g:以GB为单位
-h:易读模式
-t:显示RAM+swap的总和
-s n:刷新间隔为n秒
-c n:刷新n次后即退出markdown
执行结果
buffers,解决速度不匹配问题;cache缓存,提升访问速度的网络
虚拟内存信息
格式
vmstat [options][delay[count]]
选项:
-s:显示内存的统计数据
示例:
vmstat 1
动态观察,1秒刷新一次
vmstat 1 10
执行10次退出,1秒执行一次
执行结果说明
与vmstat使用方法类似,统计CPU和设备IO信息
示例1. 监控设备adv1的扩展数据,每秒刷新一次,执行10次
示例2. 以k为单位显示磁盘使用状况,每2秒刷新一次
示例3. 默认执行结果示例
[v9@hai7 ~]$iostat 1:Linux 2.6.32-754.el6.x86_64 (hai6) 09/06/2018 _x86_64_ (4 CPU)
2:avg-cpu: %user %nice %system %iowait %steal %idle
0.02 0.00 0.16 0.00 0.00 99.81
3:Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.01 0.03 0.00 1540 0
sda 0.46 19.71 2.57 1047842 136528
进程对应的内存映射,与文件/proc/PID(进程编号)/maps相似
格式
pmap [options] pid […]
选项
-x:显示详细格式的信息
执行示例,查看进程7795的内存占用信息
[v9@hai7 ~]$pmap -x 7795 7795: nano Address Kbytes RSS Dirty Mode Mapping 0000000000400000 168 112 0 r-x-- nano 0000000000629000 8 8 4 rw--- nano 0000000001fd9000 528 468 468 rw--- [ anon ] ... <==省略
[v9@hai7 ~]$cat /proc/7795/maps <==与pmap显示内容类似
EPEL源,能够跨网络监控
格式
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [–password] [-t refresh] [-f file][-o output]
经常使用选项:
选项 | 含义 |
---|---|
-b | 以Byte为单位显示网卡数据速率 |
-d | 关闭磁盘I/O模块 |
-f /path/to/somefile | 设定输入文件位置 |
-o{HTML | CSV} |
-m | 输入格式 |
-n | 禁用mount模块 |
-t | 延迟时间间隔 |
-1 | 每一个CPU的相关数据单独显示 |
内建命令
选项 | 含义 |
---|---|
a | 按进程自动排序 |
l | 显示或隐藏日志 |
c | 按 CPU% 排序 |
b | Bytes or bits for network I/O |
m | 按 MEM% 排序 |
w | 删除警告日志 |
p | 按用户排序 |
x | 删除警告和关键日志 |
i | 按I/O使用情况排序 |
1 | 流显示每一个CPU内核的使用状况 |
d | 显示隐藏磁盘读写情况 |
h | 帮助信息 |
f | 显示系统信息 |
t | View network I/O as combination |
n | 显示网络状态 |
u | View cumulative network I/O |
s | 显示传感器信息 |
q | 离开程序 |
y | hddtemp统计信息 |
C/S模式下运行glances命令,跨网络访问
系统资源统计,代替vmstat,iostat
格式
dstat [-afv] [options…] [delay[count]]
选项
选项 | 含义 |
---|---|
-c | 显示cpu相关信息 |
-C | 此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息 |
-d | 显示disk相关信息 |
-D | total,sda,sdb… |
-g | 显示page相关统计数据 |
-m | 显示memory相关统计数据 |
-n | 显示network相关统计数据 |
-p | 显示process相关统计数据 |
-r | 显示io请求相关统计数据 |
-s | 显示swapped相关统计数据 |
-y | 系统状态 |
- -socket | 用来显示tcp udp端口状态 |
- -ipc | 显示ipc消息队列,信号等信息 |
- -top-cpu | 显示最占用CPU的进程 |
- -top-io | 显示最占用io的进程 |
- -top-mem | 显示最占用内存的进程 |
- -top-latency | 显示延迟最大的进程 |
- -output | 将状态信息以##.csv后缀定向到指定目录下 |
示例
默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1
system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)
是一个用来监视磁盘I/O使用情况的top类工具备与top类似的UI,其中包括PID、用户、I/O、进程等相关信息,可查看每一个进程是如何使用IO
界面如上所示
iotop经常使用参数
选项 | 含义 |
---|---|
-o,–only | 只显示正在成I/O的进程或线程,除了传参,能够在运行过程总按o生效 |
-b,–batch | 非交互模式,通常用来记录日志 |
-n NUM,–iter=NUM | 设置监测的次数,默认无限。在非交互模式下颇有用 |
-d SEC,–delay=SEC | 设置每次检测的间隔,默认1秒,接受非整型数据例如1.1 |
-p PID,–pid=PID | 指定检测的进程/线程 |
-u USER,–user=USER | 指定监测某个用户产生的I/O |
-P --processes | 仅显示进程,默认iotop显示全部线程 |
-a,–accumulated | 显示累计的I/O,而不是带宽 |
-k,–kilobytes | 使用KB单位,而不是对人友好的单位,在非交互模式下,脚本编程有用 |
-t,–time | 加上时间戳,非交互非模式 |
-q,–quiet | 禁止头几行,非交互模式,有三种指定方式 |
-q | 只在第一次监测时显示列名 |
永远不显示列名 | |
-qqq | 永远不显示I/O汇总 |
交互按键
按键 | 用途 |
---|---|
left和right方向键 | 改变排序 |
r | 反向排序 |
o | 切换至选项–only |
p | 切换至–processes选项 |
a | 切换至–accumulatd选项 |
q | 退出 |
i | 改变线程的优先级 |
list open files查看当前系统文件的工具,在Linux环境下,一切皆文件,用户经过文件不只能够访问常规数据,还能够访问网络链接和硬件如传输控制协议(TCP)和用户数据协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符
格式
lsof [选项]
选项
选项 | 含义 |
---|---|
-a | 列出打开文件存在的进程 |
-c | 显示command列中包含指定字符的进程所打开的文件 |
-g | 列出GID号进程详情 |
-d FD | 列出占用该文件号的进程 |
+d /DIR/ | 列出目录下被打开的文件 |
+D /DIR/ | 递归列出目录下被打开的文件 |
-n目录 | 列出使用NFS的文件 |
-i条件 | 列出符合条件的进程(四、六、协议、:端口、@ip) |
-p进程号 | 列出指定进程号所打开的文件 |
-u | 列出UID号进程详情 |
-h | 列出UID号进程详情 |
-v | 显示版本信息 |
-n | 不反向解析网络名字 |
示例
经过参数-i查看网络链接的状况,包括链接的ip、端口等以及一些服务的链接状况,例如:sshd等,也能够经过制定ip查看该ip的网络链接状况
lsof -i -n
lsof -i@127.0.0.1
经过参数-i:端口,能够查看端口的占用状况,-i参数还有查看协议,ip的链接状况等
lsof -i:80 -n
查看指定状态的网络链接
lsof -n -P -i TCP -s TCP:ESTABLISHED
-n:no host names, -p:no port names
-i:TCP指定协议
-s:指定协议状态经过多个参数能够清晰的查看网络链接状况、协议链接状况等
用来删除执行中的程序或工做,kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍没法终止该程序,可以使用SIGKILL(9)信息尝试强制删除程序。程序或工做的编号可利用ps指令或job指令查看
格式
kill [选项] [参数]
选项
-l :列出指定编号的信息,不指定则列出所有的信息名称
-n:指定信号,编号或名称均可以
-u:指定用户
信号
编号 | 名称 | 做用 |
---|---|---|
1 | SIGHUP | 无须关闭进程而让其重读配置文件 |
2 | SIGINT | 终止正在运行的进程;至关于Ctrl+c\ |
3 | SIGQUIT | 至关于ctrl+\ |
9 | SIGKILL | 强制杀死正在运行的进程 |
15 | SIGTERM | 终止正在运行的进程 |
18 | SIGCONT | 继续运行 |
19 | SIGSTOP | 后台休眠 |
与pgrep用法类似,查找同时能够终止进程
选项 | 含义 |
---|---|
-signal | 发送信号给匹配到的进程 |
-u uid | effective user,生效者 |
-U uid | real user ,真正发起运行命令者 |
-t terminal | 与指定终端相关的进程 |
-l | 显示进程名(pgrep可用) |
-a | 显示完整格式的进程名(pgrep可用) |
-P pid | 显示指定进程的子进程 |
pkill -9 "^http"
</div> <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet"> </div>