文档章节

超实用的8个Linux命令行性能监测工具

Neo_
 Neo_
发布于 2012/09/25 09:53
字数 1604
阅读 234
收藏 22
摘要:本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。

对每个系统/网络管理员来说,每天监测Linux系统性能是一项非常艰巨的任务。在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的事,为此,我总结了8个非常实用的命令行工具给Linux/Unix系统管理员。这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。下面提供的8个命令足够你选择其中一个用于你的场景中。

1.TOP——Linux进程监控

Linux的top命令是一个性能监视程序,许多Linux系统管理员经常使用它来监测系统性能,top命令会把所有正在运行的实时进程用列表的形式显示出来并且会定时更新。它会显示CPU使用量、内存使用量、交换内存、缓存大小、缓冲区大小、流程PID、用户、命令等。它也显示正在运行的高内存进程和CPU利用率。系统管理员使用top进行监控是非常有用的,并且可以帮助管理员在必要时采取正确的措施。下面让我们来看看top命令的实际使用效果吧!


   
  1. # top 

TOP命令更多使用示例,可以阅读:top命令在Linux上的12个使用案例

2.VMSTAT——虚拟内存统计

Linux的vmstat命令用于显示虚拟内存统计,kernerl线程、磁盘、系统进程、I/O模块、中断、CPU活动等。默认情况下,需要在Linux系统上安装一个sysstat包才可以使用vmstat命令。该命令的使用格式如下:


   
  1. # vmstat  
  2.  
  3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----  
  4.  r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st  
  5.  1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0 

关于vmstat命令更多使用示例,请阅读:vmstat在Linux中的6个使用案例

3.LSOF——列出打开的文件

lsof命令和许多Linux/Unix系统命令一样,用于显示所有打开文件和进程。这些打开文件包括磁盘文件、网络套接字、管道、设备和进程。使用它最主要的原因是在卸载文件系统时,如果该文件系统中有任何打开的文件,操作通常将会失败,那么通过lsof可以找出哪些进程在使用,此命令最常用的格式如下:


   
  1. # lsof  
  2.  
  3. COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME  
  4. init          1      root  cwd       DIR      104,2     4096          2 /  
  5. init          1      root  rtd       DIR      104,2     4096          2 /  
  6. init          1      root  txt       REG      104,2    38652   17710339 /sbin/init  
  7. init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so  
  8. init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so  
  9. init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so  
  10. init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1  
  11. init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1  
  12. init          1      root   10u     FIFO       0,17                 953 /dev/initctl 

更多lsof使用说明请阅读:lsof命令在Linux中的10个使用案例

4.TCPDUMP——网络数据包分析器

tcpdump是使用最广泛的命令行——网络数据包分析器或数据包嗅探器程序,用来捕获或过滤从网络特定接口接收到或者转移的TCP/IP数据包。它还把捕获到的包保存到一个文件夹中。tcpdump可以在所有主要的Linux发行版上使用。


   
  1. # tcpdump -i eth0  
  2.  
  3. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode  
  4. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes  
  5. 22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648  
  6. 22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648  
  7. 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347 

更多tcpdump使用案例,请阅读:tcpdump命令在Linux系统中的12个使用案例

5.NETSTAT——网络统计

netstat是一个命令行工具,用于监视传入和传出的网络数据包信息和接口信息统计。系统管理员使用它进行监控网络性能和对网络相关问题进行故障排除是非常有用的。


   
  1. # netstat -a | more  
  2.  
  3. Active Internet connections (servers and established)  
  4. Proto Recv-Q Send-Q Local Address               Foreign Address             State  
  5. tcp        0      0 *:mysql                     *:*                         LISTEN  
  6. tcp        0      0 *:sunrpc                    *:*                         LISTEN  
  7. tcp        0      0 *:realm-rusd                *:*                         LISTEN  
  8. tcp        0      0 *:ftp                       *:*                         LISTEN  
  9. tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN  
  10. tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN  
  11. tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT  
  12. tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT  
  13. tcp        0      0 *:http                      *:*                         LISTEN  
  14. tcp        0      0 *:ssh                       *:*                         LISTEN  
  15. tcp        0      0 *:https                     *:*                         LISTEN 

更多netstat使用案例,请阅读:netstat在Linux上的20个使用案例

6.HTOP——Linux进程监测

Htop是一个更先进的交互性和实时性的Linux进程监控工具。这个命令与top命令非常相似,但它的功能更加丰富,如友好的用户界面进程管理、快捷键、垂直和水平视图进程等。Htop是一个第三方插件工具,你需要使用YUM软件包管理工具在Linux系统上安装才可以使用。

HTOP安装说明:在Linux中安装HTOP(Linux进程监测)

7.lotop——监控Linux磁盘I/O

Lotop与top命令和Htop程序很相似,但它具有统计功能,实时监测和显示磁盘I/O。这个工具对精确进程和发现高使用量的读/写进程非常有用的。

Loptop安装使用说明:在Linux中安装loptop

8.iostat——输入/输出统计

iostat是一个非常简单的工具,用于收集和显示系统输入和输出存储设备统计信息。这个工具通常用于跟踪存储设备的性能问题,包括设备、本地磁盘、远程磁盘比如NFS。


   
  1. # iostat  
  2.  
  3. Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012  
  4.  
  5. avg-cpu:  %user   %nice %system %iowait  %steal   %idle  
  6.            2.60    3.65    1.04    4.29    0.00   88.42  
  7.  
  8. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn  
  9. cciss/c0d0       17.79       545.80       256.52  855159769  401914750  
  10. cciss/c0d0p1      0.00         0.00         0.00       5459       3518  
  11. cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384  
  12. cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544  
  13. cciss/c0d0p4      0.00         0.00         0.00          8          0  
  14. cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528  
  15. cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776 

更多iostat使用示例和说明,阅读:iostat命令在Linux上的6个使用案例(张红月/编译)

© 著作权归作者所有

Neo_

Neo_

粉丝 27
博文 153
码字总数 145328
作品 5
广州
程序员
私信 提问
加载中

评论(2)

Neo_
Neo_ 博主

引用来自“ミ青の月”的评论

第7个是iotop,而不是lotop

谢谢
ミ青の月
ミ青の月
第7个是iotop,而不是lotop
Linux 命令行网络监控工具

转自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html 对任何规模的业务来说,网络监控工具都是一个重要的功能。网络监控的目标可能千差万别。比如,监控活动的目标可以是保证长期的...

被使用的文件
2015/07/13
310
0
20个命令行工具监控 Linux 系统性能

对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行。为此,我们编写了...

重庆大侠
2015/12/20
6
0
Bash 和 Python 编程语言优缺点分析

Bash 和 Python 是大多数自动化工程师最喜欢的编程语言。它们都各有优缺点,有时很难选择应该使用哪一个。所以,最诚实的答案是:这取决于任务、范围、背景和任务的复杂性。 让我们来比较一下...

Linux就该这么学
04/23
16
0
Bash vs Python:你该使用个?

两种编程语言都各有优缺点,它们在某些任务方面互有胜负。 Bash 和 Python 是大多数自动化工程师最喜欢的编程语言。它们都各有优缺点,有时很难选择应该使用哪一个。所以,最诚实的答案是:这...

作者: Archit Modi
04/15
0
0
在 Linux 中查找用户帐户信息和登录详细信息的 11 种方法

本文将介绍 11 种在 Linux 系统查找用户相关信息的有用方法。这里,我们会讲解在系统中获取一个用户账户详细信息、展示登录详细信息以及用户行为数据的命令。 也可以读一读:如何借助系统用户...

oschina
2017/09/28
3.3K
1

没有更多内容

加载失败,请刷新页面

加载更多

cleanLastUpdated.bat

@echo offrem create by AnXiaole rem 这里写你的仓库路径set REPOSITORY_PATH=C:\Users\AnXiaole\.m2\repositoryrem 正在搜索...for /f "delims=" %%i in ('dir /b /s "%REPO......

安小乐
刚刚
0
0
操作放大器的用法是什么?

  有区别   1、单级放大的倍数比较有限,一般在100倍以下。放大倍数很大的话,负反馈就比较浅,对于放大倍数的稳定性不利。假如需要放大倍数更高,就不得不动用多级放大电路了。单级放大...

仙溪
3分钟前
0
0
c++ 上传文件 curl

bool uploadFile(std::string url, std::string file, std::string auth) { boost::filesystem::path p(file); CURL *curl; CURLcode res; struct curl_httppost *for......

青黑
9分钟前
1
0
冒泡与插入排序的代码实现

// 冒泡排序,a 表示数组,n 表示数组大小public void bubbleSort(int[] a, int n) { if (n <= 1) return; for (int i = 0; i < n; ++i) { // 提前退出冒泡循环的标志位 ...

无名氏的程序员
11分钟前
3
0
centos7.6 +mhvtl1.6安装

以前的mhvtl都是在centos6.x,5.x上安装的mhvtl以前版本为1.4,现在最新的1.6出来,可以安装在centos7.6上,下面是安装过程: 1.安装基础包 centos7.6只要能上外网,默认是配置了yun源的,这些...

突突突酱
13分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部