Linux性能相关工具
2017-12-16 17:40
253 查看
进程管理相关命令:
pstree : 树状显示进程
选项:-p : 显示PID,可以指定查看某个用户
ps : 查看进程状态
三种选项风格:UNIX : 带 -
BSD : 不带 -
GUN : --
选项:
a : 所有与终端有关的进程
x : 所有与终端无关的进程
u : 显示进程所有者信息
f : 显示进程树,相当于--forest
k | --sort : 对某列属性排序(默认升序,属性前加-表示降序)
o : 定制要显示属性信息:PID,CMD,%cpu,%mem
L : 显示支持的属性列表
-C : 指定要显示的命令,多个命令用,分隔
-L : 显示线程
-e : 显示所有进程,相当于-A
-f : 显示完整格式程序信息
-F : 显示更完整格式的进程信息
-H : 以进程层级格式显示进程相关信息
-u userlist : 指定有效的用户ID或名称
-U userlist : 指定真正的用户ID或名称
-g gid或groupname : 指定有效的gid或组名称
-G gid或groupname : 指定真正的gid或组名称
-p pid : 显示指pid的进程
--ppid pid : 显示属于pid的子进程
ps输出的属性:
STAT : 进程状态
R :running
S : interruptable sleeping 可中断休眠
D : uninterruptable sleeping 不可中断的休眠
T : stopped 停止
Z : zombie 僵死
+ : 前台进程
l : 多线程进程
L :内存分页并带锁
N :低优先级进程
< : 高优先级进程
s : session leader,会话(子进程)发起者
VSZ: Virtual memory SiZe,虚拟内存集,线性内存
RSS: ReSident Size, 常驻内存集
ni:nice 值
pri:priority 优先级
psr:processor CPU编号
rtprio: 实时优先级
查找占用最多内存和CPU的进程:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head #查看内存
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head #查看CPU
使用watch实用程序执行重复的输出以实现对就程进行实时的监视:
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'
pgrep : 搜索进程
使用ps [option] | grep等方式实现也可pgrep使用扩展正则表达式搜索
pgrep [option] pattern
-u uid : 生效者
-U uid : 真实发起者
-l : 显示进程名
-a : 显示完整格式的进程名
-t terminal : 与指定终端相关的进程
-P pid : 显示指定进程的子进程
top : 实时监测
选项:-d : 指定刷新时间,默认3秒
-b : 显示全部进程(不分页)
-n : 指定刷新次数,达到次数后退出
top显示的信息:
第一行: top - :当前系统时间 up : 系统运行时间 user : 在线用户数 load average : 系统平均负载
第二行: total : 总进程数 running : 运行中进程 sleeping : 休眠进程数 stopped : 停止进程数 zombie : 僵死进程数
第三行: us : 用户空间占用CPU百分比 sy : 系统空间占用CPU百分比 ni : 用户进程空间内改变过优先级的进程占用CPU百分比 id : 空闲CPU百分比 wa : 等待IO的CPU百分比 hi : 硬中断 si : 软中断 st : 虚拟机偷走的百分比
第四行: Men :内存信息行
第五行: Swap :交换空间信息行
第六行: PID : 进程号 USER : 用户 PR : 优先级 NI : NICE值 VIRT : 虚拟内存集 RES : 常驻内存 SHR : 共享内存 S : 进程状态 %CPU : 占用CPU百分比 %MEN : 占用内存百分比 TIME+ : 运行时间 COMMAND : 命令行
top内按键命令:
M : 按内存占用百分比大小排序
P :按cpu占用百分比大小排序,默认
T :按累计占有时长进行排序
l : 是否显示负载信息
t :是否显示cpu和进程的统计信息
m :是否显示内存和交互分区的信息
q :退出
k :kill,杀掉进程
s :改变top刷新频率**
kill : 向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不区分大小写
显示当前系统可用信号: kill -l ; trap -l常用信号: man 7 signal
1 | SIGHUP: 无须关闭进程而让其重读配置文件
2 | SIGINT: 中止正在运行的进程;相当于Ctrl+c
3 | SIGQUIT:相当于ctrl+\
9 | SIGKILL: 强制杀死正在运行的进程
15 | SIGTERM:终止正在运行的进程(默认)
18 | SIGCONT:继续运行
19 | SIGSTOP:后台休眠
指定信号的方法:
(1)信号的数字标识:1, 2, 9
(2)信号完整名称:SIGHUP
(3)信号的简写名称:HUP
kill进程用法:
按PID:
kill [-SIGNAL] pid …
kill –n SIGNAL pid
kill –s SIGNAL pid
按名称:
killall [-SIGNAL] comm…
按模式:
pkill [options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用)
-P pid: 显示指定进程的子进程
I/O监控工具:
vmstat : 服务器I/O状态
vmstat [options] [delay [count]] vmstat 1 10 #1秒刷新一次,刷新10次后退出
选项:
-s : 显示内存的统计数据
显示的信息:
procs:
r: 可运行(运行中或等待运行)进程的个数
b: 处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
swap:
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io:
bi:从块设备读入数据到内存中的速率(kb/s)
bo: 保存数据至块设备的速率
system:
in: interrupts 中断速率,包括时钟
cs: context switch 进程切换速率
cpu:
us : 用户CPU时间,
sy : 系统CPU时间,太高表示系统调用时间长,例如IO操作频繁
id : 空闲的CPU时间
wt : 等待IO的时间
st : 虚拟机占用的CPU时间
iotop : 类似top的监视IO使用状况的工具
选项:-o : 只显示正在产生IO的进程或线程,可以在iotop运行中按o生效
-a : 显示累计IO量
-k : 使用kB为单位
-P : 仅显示进程,默认显示进程和线程
-n NUM : 设置监测次数,默认无限次
-d SEC : 设置监测间隔,默认为1秒
-p PID : 指定监测的进程/线程
-u USER : 指定监测某个用户
-b : 非交互模式,用于记录日志
-t : 加上时间戳,非交互模式
-q : 禁止显示开头几行,非交互模式
-q : 只在第一次监测时显示列名
-qq : 永远不显示列名
-qqq : 永远不现实IO汇总
iotop输出的信息:
第一行 : Read和Weite的速率总计
第二行 : 实际的速率
第三行:
TID : 线程ID(按p切换为进程ID)
PRIO : 优先级
USER : 用户
DISK READ : 磁盘读速率
DISK WRITE : 磁盘写速率
SWAPIN : swap交换百分比
IO> : IO等待的百分
COMMAND : 线程/进程命令
iostat : 统计CPU和设备IOS信息
iostat 1 10 #1秒刷新一次,刷新10次后退出
pmap : 进程对应的内存映射
用法:pmap [options] pid [...]选项:
-x: 显示详细格式的信息
例:pmap 1 #查看进程PID为1的进程内存映射
dastat : 系统资源统计,代替vmstat,iostat
用法:dstat [-afv] [options..] [delay [count]]选项:
-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 显示cpu0和cpu1的信息
-d:显示磁盘读写数据大小
-n:显示网络状态
-N eth1:指定要显示的网卡,有多块网卡时以,分隔
-l:显示系统负载情况
-m:显示内存使用情况
-g:显示页面使用情况
-p:显示进程状态
-s:显示交换分区使用情况。
-r:I/O请求情况
-y:系统状态
--ipc:显示ipc消息队列,信号等信息
--socket:用来显示tcp udp端口状态
-a:此为默认选项,等同于-cdngy
-v:等同于 -pmgdsc -D total
--output file : 把状态信息以csv的格式重定向到指定的文件中,例:dstat --output
--top-cpu:显示最占用CPU的进程
--top-io: 显示最占用io的进程
--top-mem: 显示最占用内存的进程
--top-latency: 显示延迟最大的进程
EPEL源上的监控工具:
htop : 升级版的top
glances : 监控系统资源利用情况
glances 会用一下几种颜色来代表状态:绿色:OK(一切正常)
蓝色:CAREFUL(需要注意)
紫色:WARNING(警告)
红色:CRITICAL(严重)
选项:
-b: 以Byte为单位显示网卡数据速率
-d: 关闭磁盘I/O模块
-m: 禁用mount模块
-n: 禁用网络模块
-1:每个CPU的相关数据单独显示
-t #: 延迟时间间隔
-o {HTML|CSV}:输出格式
-f /path/to/somefile: 设定输入文件位置
glances内按键命令:
a : 对进程自动排序
c : 按 CPU 百分比对进程排序
m : 按内存百分比对进程排序
p : 按进程名字母顺序对进程排序
i : 按读写频率(I/O)对进程排序
d : 显示/隐藏磁盘 I/O 统计信息
f : 显示/隐藏文件系统统计信息
n : 显示/隐藏网络接口统计信息
s : 显示/隐藏传感器统计信息
y : 显示/隐藏硬盘温度统计信息
l : 显示/隐藏日志(log)
b : 切换网络 I/O 单位(Bytes/bits)
w : 删除警告日志
x : 删除警告和严重日志
1 : 切换全局 CPU 使用情况和每个 CPU 的使用情况
h : 显示/隐藏这个帮助画面
t : 以组合形式浏览网络 I/O
u : 以累计形式浏览网络 I/O
q : 退出(‘ESC‘ 和 ‘Ctrl&C‘ 也可以)
glances监测远程系统:
服务器模式:
glances -s -B IPADDR
IPADDR : 指明监听本机哪个地址(默认为所有地址)
客户端模式:
glances -c IPADDR
IPADDR : 要监测的远程服务端地址
相关文章推荐
- 裘宏骏:Linux 相关性能分析工具
- linux性能监控工具
- linux 性能监控工具——NAGIOS 和 OVO
- 使用linux系统性能监控工具KSysguard监控远端主机介绍
- Linux 性能监测工具总结
- Perf -- Linux下的系统性能调优工具,第 1 部分
- Netdata----Linux 性能实时监测工具
- 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
- linux性能监控工具介绍
- 超实用的8个Linux命令行性能监测工具
- 8个Linux命令行性能监测工具
- Linux 编程大全 UNIX/Linux编程相关工具和资源
- Linux 性能监控、测试、优化工具
- Linux 性能检测工具Vmstat命令
- linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
- linux下性能测试工具netperf使用
- linux中top性能分析工具中的TIME+
- linux中top性能分析工具中的TIME+
- 监控Linux性能的18个命令行工具
- Linux 性能监控、测试、优化工具