Linux性能查看与分析--命令行工具介绍
本文介绍工作中常用的几个linux性能查看命令:top,sar,vmstat,iostat,pidstat等。
1.top
top是最常用的linux性能分析工具,它能够实时的显示系统中各个进程的资源占用情况。top命令的部分输出如下:

top的交互命令有以下几个:
(1)f 选择显示的列
(2)o或O 改变列的显示顺序
(3)l 切换显示平均负载和启动时间信息
(4)m 切换显示内存信息
(5)t 切换显示进程和CPU状态信息
(6)c 切换显示命令名称和完整命令行
(7)M 根据驻留内存大小进行排序k
(8)P 根据CPU使用百分比大小进行排序
(9)T 根据时间/累计时间进行排序
(10)h 显示帮助信息
(11)q 退出
(12)数字1 显示所有cpu的负载情况
top命令参数:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
q该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
2.sar
sar周期性的对内存和CPU的使用情况进行采样。基本语法如下:
sar [option] [<interval> [<count>]]
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
-n:网络的统计信息
-o:采样结果输出到文件
例如:
每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中 :sar -u -o test 10 3
查看二进制文件test中的内容:sar -u -f test
每10秒采样一次,连续采样3次,观察核心表的状态:sar -v 10 3
每10秒采样一次,连续采样3次,监控内存分页:sar -r 10 3
每10秒采样一次,连续采样3次,监控内存分页:sar -B 10 3
每10秒采样一次,连续采样3次,报告缓冲区的使用情况:sar -b 10 3
每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:sar -q 10 3
每10秒采样一次,连续采样3次,监控系统交换活动信息:sar -W 10 3
每10秒采样一次,连续采样3次,报告设备使用情况:sar -d 10 3 –p
要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
淘宝有一个改进版的sar叫tsar,可以收集和报告性能和应用的数据,并保持到mysql里。
3.vmstat
vmstat可以统计CPU、内存使用情况、swap使用情况、I/O操作、上下文切换、时钟中断等信息。
使用如:vmstat 1 3
4.iostat
iostat主要查看磁盘io信息。
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒从设备读取的block数.
Blk_wrtn/s: 每秒向设备写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数
使用:iostat -d 1 2
iostat -x 1 2
5.pidstat
是sysstat的组件之一,可以检测进程和线程的性能情况。
6.ps
进程查看工具。
ps表示进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
ps参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
更多内容ps --help
示例:
1.显示所有进程信息
ps -A
2.显示指定用户信息
ps -u root
3.显示所有进程信息,包括命令行
ps -ef
4.将目前属于您自己这次登入的 PID 与相关信息列示出来
ps -l
5.列出目前所有的正在内存当中的程序
ps -aux
6.列出类似程序树的程序显示
ps -axjf
7.netstat
网络连接状态查看工具。
8.lsof
文件描述符查看工具。
lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
lsof -n |awk '{print $2} " " $3'|sort|uniq -c |sort -nr|more
Linux性能查看与分析--命令行工具介绍的更多相关文章
- 监控Linux性能的18个命令行工具
监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...
- 监控 Linux 性能的 18 个命令行工具
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance 1.Top-Linux进程监控 Lin ...
- [转载]监控 Linux 性能的 18 个命令行工具
转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...
- 监控 Linux 性能的 18 个命令行工具[转]
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...
- 监控 Linux 性能的 18 个命令行工具(转)
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance?cmp&p=1# 1.Top- ...
- 监控 Linux 系统的 7 个命令行工具
监控 Linux 系统的 7 个命令行工具: " 深入 关于Linux最棒的一件事之一是你能深入操作系统,来探索它是如何工作的,并寻找机会来微调性能或诊断问题.这里有一些基本的命令行工具,让 ...
- JVM性能监控与故障处理命令行工具
JDK命令行工具 Sun公司作为”礼物“赠送给JDK使用者的工具: 这些命令行工具大多是jdk/lib/tools.jar类库的一层薄包装,主要功能代码是在tools类库(不属于java的标准API) ...
- Linux常用的日志分析命令与工具
>>基础命令 操作 命令 说明 查看文件的内容 cat -n access.log -n显示行号 分页显示文件 more access.log Enter下一行,空格下一页,F下一屏,B上 ...
- Linux下处理JSON的命令行工具:jq---安装
转自:https://blog.csdn.net/Sunny_much/article/details/50668871 JSON是前端编程经常用到的格式.Linux下也有处理处理JSON的 ...
随机推荐
- 【02】你是如何理解 HTML 语义化的,有什么好处
[02]你是如何理解 HTML 语义化的 01,语义化,就是通过HTML标签来表示页面包含的信息. 02,其中有HTML标签的语义化和CSS命名的语义化. 03,HTML标签语义化的的含义是: ...
- 分离焦虑OR责任焦虑
这里是用小孩上幼儿园的事说分离焦虑,转念到成人身上就是责任焦虑. 这周小孩开始上幼儿园了,他很害怕家长离开,我能做的也不多,只是很肯定的告诉他,爸爸就在停车场,下学就来接你,然后从各个 ...
- php官方微信接口大全
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中.内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class ...
- 第一阶段Sprint 对其他团队评价
咱们的team 针对对“小学生网页四则运算”这个产品的评审,本人提出建议:1.第一阶段的产品Sprint不够好,无任务看板.无燃尽图.希望完善该产品的的Sprint,第二阶段的Sprint要认真写好. ...
- zoj2112 主席树动态第k大 (主席树&&树状数组)
Dynamic Rankings Time Limit: 10 Seconds Memory Limit: 32768 KB The Company Dynamic Rankings has ...
- Codeforces Round #407 (Div. 2) B+C!
B. Masha and geometric depression 被这个题坑了一下午,感觉很水,一直WA在第14组,我那个气啊,结束后发现第14组有点小争议,于是找出题人解释,然后出题人甩给了我一段 ...
- rabbitmq php扩展amqp安装
configure: error: Please reinstall the librabbitmq distribution itself or (re)install librabbitmq de ...
- getParameter 与 getAttribute的区别
request.getAttribute():是request时设置的变量的值,用request.setAttribute("name","您自己的值");来设 ...
- CodeForces 762D Maximum path
http://codeforces.com/problemset/problem/762/D 因为是3*n很巧妙的地方是 往左走两步或更多的走法都可以用往回走以一步 并走完一列来替换 那么走的方法就大 ...
- @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码
一.前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西. 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 ...