Merge pull request #1925 from andyxue/master

[Translated]Amazing 25 Linux Performance Monitoring Tools
This commit is contained in:
Xingyu.Wang 2014-11-01 20:15:52 +08:00
commit 77fb3acee2
2 changed files with 290 additions and 292 deletions

View File

@ -1,292 +0,0 @@
andyxue translating
Amazing ! 25 Linux Performance Monitoring Tools
================================================================================
Over the time our website has shown you how to configure various performance tools for Linux and Unix-like operating systems. In this article we have made a list of the most used and most useful tools to monitor the performance for your box. We provided a link for each of them and split them into 2 categories: command lines one and the ones that offer a graphical interface.
### Command line performance monitoring tools ###
#### 1. dstat - Versatile resource statistics tool ####
A versatile combination of **vmstat**, **iostat** and **ifstat**. It adds new features and functionality allowing you to view all the different resources instantly, allowing you to compare and combine the different resource usage. It uses colors and blocks to help you see the information clearly and easily. It also allows you to export the data in **CVS** format to review it in a spreadsheet application or import in a **database**. You can use this application to [monitor cpu, memory, eth0 activity related to time][1].
![](http://blog.linoxide.com/wp-content/uploads/2014/10/dstat.png)
#### 2. atop - Improved top with ASCII ####
A command line tool using **ASCII** to display a **performance monitor** that is capable of reporting the activity of all processes. It shows daily logging of system and process activity for long-term analysis and it highlights overloaded system resources by using colors. It includes metrics related to **CPU**, **memory**, **swap**, **disks** and **network layers**. All the functions of atop can be accessed by simply running:
# atop
And you will be able to [use the interactive interface to display][2] and order data.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/atop1.jpg)
#### 3. Nmon - performance monitor for Unix-like systems ####
Nmon stands for **Nigel's Monitor** and it's a system monitor tool originally developed for **AIX**. If features an **Online Mode** that uses curses for efficient screen handling, which updates the terminal frequently for real-time monitoring and a **Capture Mode** where the data is saved in a file in **CSV** format for later processing and graphing.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/nmon_interface.png)
**More info** in our [nmon performance track article][3].
#### 4. slabtop - information on kernel slab cache ####
This application will show you how the **caching memory allocator** manages in the Linux kernel caches various type of objects. The command is a top like command but is focused on showing real-time kernel slab cache information. It displays a listing of the top caches sorted by one of the listed sort criteria. It also displays a statistics header filled with slab layer information. Here are a few examples:
# slabtop --sort=a
# slabtop -s b
# slabtop -s c
# slabtop -s l
# slabtop -s v
# slabtop -s n
# slabtop -s o
**More info** is available [kernel slab cache article][4]
#### 5. sar - performance monitoring and bottlenecks check ####
The **sar** command writes to standard output the contents of selected cumulative activity counters in the operating system. The **accounting system**, based on the values in the count and interval parameters, writes information the specified number of times spaced at the specified intervals in seconds. If the interval parameter is set to zero, [the sar command displays the average statistics][5] for the time since the system was started. Useful commands:
# sar -u 2 3
# sar u f /var/log/sa/sa05
# sar -P ALL 1 1
# sar -r 1 3
# sar -W 1 3
#### 6. Saidar - simple stats monitor ####
Saidar is a **simple** and **lightweight** tool for system information. It doesn't have major performance reports but it does show the most useful system metrics in a short and nice way. You can easily see the [**up-time, average load, CPU, memory, processes, disk and network interfaces**][6] stats.
Usage: saidar [-d delay] [-c] [-v] [-h]
-d Sets the update time in seconds
-c Enables coloured output
-v Prints version number
-h Displays this help information.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/saidar-e1413370985588.png)
#### 7. top - The classical Linux task manager ####
top is one of the best known **Linux** utilities, it's a **task manager** found on most **Unix-like** operating systems. It shows the current list of running processes that the user can order using different criteria. It mainly shows how much **CPU** and **memory** is used by the **system processes**. top is a quick place to go a check what process or **processes** hangs your system. You can also find here a [list of examples of top usage][7] . You can access it by running the top command and entering the interactive mode:
Quick cheat sheet for interactive mode:
GLOBAL_Commands: <Ret/Sp> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
SUMMARY_Area_Commands: l, m, t, 1
TASK_Area_Commands Appearance: b, x, y, z Content: c, f, H, o, S, u Size: #, i, n Sorting: <, >, F, O, R
COLOR_Mapping: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
COMMANDS_for_Windows: -, _, =, +, A, a, G, g, w
![](http://blog.linoxide.com/wp-content/uploads/2014/10/top.png)
#### 8. Sysdig - Advanced view of system processes ####
**Sysdig** is a tool that gives admins and developers unprecedented visibility into the behavior of their systems. The team that develops it wants to improve the way system-level **monitoring** and **troubleshooting** is done by offering a unified, coherent, and granular visibility into the **storage**, **processing**, **network**, and **memory** subsystems making it possible to create trace files for system activity so you can easily analyze it at any time.
Quick examples:
# sysdig proc.name=vim
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig evt.type=chdir and user.name=root
# sysdig -l
# sysdig -L
# sysdig -c topprocs_net
# sysdig -c fdcount_by fd.sport "evt.type=accept"
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig -c topprocs_file
# sysdig -c fdcount_by proc.name "fd.type=file"
# sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
# sysdig -c topprocs_cpu
# sysdig -c topprocs_cpu evt.cpu=0
# sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
# sysdig evt.type=open and fd.name contains /etc
![](http://blog.linoxide.com/wp-content/uploads/2014/10/sysdig.jpg)
**More info** is available in our article on [how to use sysdig for improved system-level monitoring and troubleshooting][8]
#### 9. netstat - Shows open ports and connections ####
Is the tool **Linux administrators** use to show various **network** information, like what ports are open and what network connections are established and what process runs that connection. It also shows various information about the **Unix sockets** that are open between various programs. It is part of most Linux distributions A lot of the commands are explained in the [article on netstat and its various outputs][9]. Most used commands are:
$ netstat | head -20
$ netstat -r
$ netstat -rC
$ netstat -i
$ netstat -ie
$ netstat -s
$ netstat -g
$ netstat -tapn
### 10. tcpdump - insight on network packets ###
**tcpdump** can be used to see the content of the **packets** on a **network connection**. It shows various information about the packet content that pass. To make the output useful, it allows you to use various filters to only get the information you wish. A few examples on how you can use it:
# tcpdump -i eth0 not port 22
# tcpdump -c 10 -i eth0
# tcpdump -ni eth0 -c 10 not port 22
# tcpdump -w aloft.cap -s 0
# tcpdump -r aloft.cap
# tcpdump -i eth0 dst port 80
**You can find them described in** [detail in our article on tcpdump and capturing packets][10]
#### 11. vmstat - virtual memory statistics ####
**vmstat** stands for **virtual memory** statistics and it's a **memory monitoring** tool that collects and displays summary information about **memory**, **processes**, **interrupts**, **paging** and **block I/O**. It is an open source program available on most Linux distributions, Solaris and FreeBSD. It is used to diagnose most memory performance problems and much more.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/vmstat_delay_5.png)
**More info** in [our article on vmstat commands][11].
#### 12. free - memory statistics ####
Another **command line** tool that will show to standard output a few stats about **memory** usage and swap usage. Because it's a simple tool it can be used to either find **quick information** about memory usage or it can be used in different scripts and applications. You can see that [this small application has a lot of uses][12] and almost all system admin use this tool daily :-)
![](http://blog.linoxide.com/wp-content/uploads/2014/10/free_hs3.png)
#### 13. Htop - friendlier top ####
**Htop** is basically an improved version of top showing more stats and in a more colorful way allowing you to sort them in different ways as you can see in our article. It provides a more a more **user-friendly** interface.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/htop.png)
You can find **more info** in [our comparison of htop and top][13]
#### 14. ss - the modern net-tools replacement ####
**ss** is part of the **iproute2** package. iproute2 is intended to replace an entire suite of standard **Unix networking tools** that were previously used for the tasks of [configuring network interfaces, routing tables, and managing the ARP table][14]. The ss utility is used to dump socket statistics, it allows showing information similar to **netstat** and its able display more TCP and state information. A few examples:
# ss -tnap
# ss -tnap6
# ss -tnap
# ss -s
# ss -tn -o state established -p
#### 15. lsof - list open files ####
**lsof** is a command meaning "**list open files**", which is used in many Unix-like systems to report a list of all open files and the processes that opened them. It is used by most Linux distributions and other Unix-like operating systems by **system administrators** to check what files are open by various processes.
# lsof +p process_id
# lsof | less
# lsof u username
# lsof /etc/passwd
# lsof i TCP:ftp
# lsof i TCP:80
You can find **more examples** in the [lsof article][15]
#### 16. iftop - top for your network connections ####
**iftop** is yet another top like application that will is based on networking information. It shows various current **network connection** sorted by **bandwidth usage** or the amount of data uploaded or downloaded. It also provides various estimations of the time it will take to download them.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/iftop.png)
For **more info** see [article on network traffic with iftop][16]
#### 17. iperf - network performance tool ####
**iperf** is a **network testing** tool that can create **TCP** and **UDP** data connections and measure the **performance** of a network that is carrying them. It supports tuning of various parameters related to timing, protocols, and buffers. For each test it reports the bandwidth, loss, and other parameters.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/iperf-e1413378331696.png)
If you wish to use the tool check out our article on [how to install and use iperf][17]
#### 18. Smem - advanced memory reporting ####
**Smem** is one of the most advanced tools for **Linux** command line, it offers information about the actual **memory** that is used and shared in the system, attempting to provide a more realistic image of the actual **memory** being used.
$ smem -m
$ smem -m -p | grep firefox
$ smem -u -p
$ smem -w -p
Check out our [article on Smem for more examples][18]
### GUI or Web based performance tools ###
#### 19. Icinga - community fork of Nagios ####
**Icinga** is **free** and **open source** system and network monitoring application. Its a fork of Nagios retaining most of the existing features of its predecessor and building on them to add many long awaited patches and features requested by the user community.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/Icinga-e1413377995731.png)
**More info** about installing and configuring [can be found in our Icinga article][19].
#### 20. Nagios - the most popular monitoring tool. ####
The most used and popular **monitoring solution** found on Linux. It has a daemon that collects information about various process and has the ability to collect information from remote hosts. All the information is then provided via a nice and powerful **web interface**.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/nagios-e1413305858732.png)
You can find **information** on [how to install Nagios in our article][20]
#### 21. Linux process explorer - procexp for Linux ####
**Linux process explorer** is a graphical process explorer for **Linux**. It shows various **process information** like the process tree, TCP/IP connections and performance figures for each process. It's a replica of procexp found in Windows and developed by **Sysinternals** and aims to be more user friendly then top and ps.
Check our [linux process explorer article][21] for more info.
#### 22. Collectl - performance monitoring tool ####
This is a **performance monitoring** tool that you can use either in an **interactive mode** or you can have it **write reports** to disk and access them with a web server. It reports statistics on **CPU**, **disk**, **memory**, **network**, **nfs**, **process**, **slabs** and more in easy to read and manage format.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/collectl.png)
**More info** in our [Collectl article][22]
#### 23. MRTG - the classic graph tool ####
This is a **network traffic** monitor that will provide you **graphs** using the **rrdtool**. It is one of the oldest tools that provides graphics and is one of the most used on Unix-like operating systems. Check our article on [how to use MRTG][23] for information on the installation and configuration process
![](http://blog.linoxide.com/wp-content/uploads/2014/10/mrtg.png)
#### 24. Monit - simple and easy to use monitor tool ####
**Monit** is an **open source** small **Linux** utility designed to monitor **processes**, **system load**, **filesystems**, **directories** and **files**. You can have it run automatic maintenance and repair and can execute actions in error situations or send email reports to alert the system administrator. If you wish to use this tool you can check out our [how to use Monit article][24].
![](http://blog.linoxide.com/wp-content/uploads/2014/10/monit.png)
#### 25. Munin - monitoring and alerting services for servers ####
**Munin** is a **networked resource monitoring** tool that can help analyze **resource trends** and see what is the weak point and what caused **performance issues**. The team that develops it wishes it for it to be very easy to use and user-friendly. The application is written in Perl and uses the rrdtool to generate graphs, which are with the web interface. The developers advertise the application "plug and play" capabilities with about 500 monitoring plugins currently available.
**More info** can be found in our [article on Munin][25]
--------------------------------------------------------------------------------
via: http://linoxide.com/monitoring-2/linux-performance-monitoring-tools/
作者:[Adrian Dinu][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/adriand/
[1]:http://linoxide.com/monitoring-2/dstat-monitor-linux-performance/
[2]:http://linoxide.com/monitoring-2/guide-using-linux-atop/
[3]:http://linoxide.com/monitoring-2/install-nmon-monitor-linux-performance/
[4]:http://linoxide.com/linux-command/kernel-slab-cache-information/
[5]:http://linoxide.com/linux-command/linux-system-performance-monitoring-using-sar-command/
[6]:http://linoxide.com/monitoring-2/monitor-linux-saidar-tool/
[7]:http://linoxide.com/linux-command/linux-top-command-examples-screenshots/
[8]:http://linoxide.com/tools/sysdig-performance-linux-tool/
[9]:http://linoxide.com/linux-command/netstat-commad-with-all-variant-outputs/
[10]:http://linoxide.com/linux-how-to/network-traffic-capture-tcp-dump-command/
[11]:http://linoxide.com/linux-command/linux-vmstat-command-tool-report-virtual-memory-statistics/
[12]:http://linoxide.com/linux-command/linux-free-command/
[13]:http://linoxide.com/linux-command/linux-htop-command/
[14]:http://linoxide.com/linux-command/ss-sockets-network-connection/
[15]:http://linoxide.com/how-tos/lsof-command-list-process-id-information/
[16]:http://linoxide.com/monitoring-2/iftop-network-traffic/
[17]:http://linoxide.com/monitoring-2/install-iperf-test-network-speed-bandwidth/
[18]:http://linoxide.com/tools/memory-usage-reporting-smem/
[19]:http://linoxide.com/monitoring-2/install-configure-icinga-linux/
[20]:http://linoxide.com/how-tos/install-configure-nagios-centos-7/
[21]:http://sourceforge.net/projects/procexp/
[22]:http://linoxide.com/monitoring-2/collectl-tool-install-examples/
[23]:http://linoxide.com/tools/multi-router-traffic-grapher/
[24]:http://linoxide.com/monitoring-2/monit-linux/
[25]:http://linoxide.com/ubuntu-how-to/install-munin/

View File

@ -0,0 +1,290 @@
25个linux性能监控工具
================================================================================
一段时间以来我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具并对介绍到的每一个工具提供了相应的简介链接大致将其划分为两类基于命令行的和提供图形化接口的。
### 基于命令行的性能监控工具 ###
#### 1. dstat - 多类型资源统计工具 ####
该命令整合了**vmstat****iostat**和**ifstat**三种命令。同时增加了新的特性和功能允许你能够看到及时的不同的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和代码块布局的界面帮助你能够更加清晰容易的获取信息。它同时支持将信息数据导出到**cvs**格式文件中,从而用其他应用程序打开,或者导入到数据库中。你可以用该命令来[监控cpu内存和网络状态随着时间的变化][1]。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/dstat.png)
#### 2. atop - 相比top更好的ASCII码体验 ####
使用**ASCII**码的命令行工具来显示一个性能监控工具能够记录显示所有进程活动。它不但能够展示每日的系统日志也能够进行长期的进程活动分析同时也能够高亮过载的系统使用资源。它包含了CPU内存交换空间磁盘和网络层的度量指标。使用所用的功能只需在终端运行**atop**即可。当然你也可以使用[交互接口来显示][2]数据并进行排序。
# atop
![](http://blog.linoxide.com/wp-content/uploads/2014/10/atop1.jpg)
#### 3. Nmon - 类Unix系统的性能监控 ####
Nmon为**Nigel's Monitor**缩写,它最早开发用来作为**AIX**的系统监控工具。它的特征是**在线模式**,该模式在终端中实时更新监控信息,同时使用光标操作来提高屏幕事件处理效率。使用**捕捉模式**能够将数据保存为**CSV**格式,方便进一步的处理和图形化展示。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/nmon_interface.png)
更多的信息参考我们的[nmon性能监控文章][3]。
#### 4. slabtop - 显示内核slab缓存信息 ####
个应用能够显示**缓存分配器**是如何管理Linux内核缓存不同类型的对象的。这个命令类似于top命令区别是它重点实时显示内核slab缓存信息。它能够显示按照不同排序条件来显示最靠前的缓存列表。它同时也能够显示一个以slab层信息填充的统计题头。举例如下
# slabtop --sort=a
# slabtop -s b
# slabtop -s c
# slabtop -s l
# slabtop -s v
# slabtop -s n
# slabtop -s o
**更多信息参阅**[内核slab缓存文章][4]。
#### 5. sar - 性能监控和瓶颈检查 ####
**sar** 命令是为了标准输出在操作系统上所选的累积活动计数器内容信息。该基于计数值和时间间隔参数的**审计系统**会按照指定的时间间隔输出指定次数的监控信息。如果时间间隔参数为设置为0那么[sar命令将会显示系统从开机到当时时刻的平均统计信息][5]。有用的命令如下:
# sar -u 2 3
# sar u f /var/log/sa/sa05
# sar -P ALL 1 1
# sar -r 1 3
# sar -W 1 3
#### 6. Saidar - 简单的统计监控工具 ####
Saidar是一个**简单**且**轻量**的系统信息监控工具。虽然它无法提供大多性能报表,但是它能够通过一个简短友好的方式显示最有用的系统运行状况数据。你可以很容易地看到[up-time, average load,CPU,内存,进程,磁盘和网络接口][6]统计信息。
Usage: saidar [-d delay] [-c] [-v] [-h]
-d Sets the update time in seconds
-c Enables coloured output
-v Prints version number
-h Displays this help information.
![](http://blog.linoxide.com/wp-content/uploads/2014/10/saidar-e1413370985588.png)
#### 7. top - 经典的Linux任务管理工具 ####
作为一个广为认知的**Linux**工具,**top**出现在大多数的类Unix操作系统任务管理中。它可以显示当前正在运行的进程的列表同时用户可以按照不同的查询条件对该列表进行排序。它主要显示了系统进程对**CPU**和内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统。你可以在[这里][7]看到top使用的例子。 你可以在终端输入top来运行它并进入到交互模式
Quick cheat sheet for interactive mode:
GLOBAL_Commands: <Ret/Sp> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
SUMMARY_Area_Commands: l, m, t, 1
TASK_Area_Commands Appearance: b, x, y, z Content: c, f, H, o, S, u Size: #, i, n Sorting: <, >, F, O, R
COLOR_Mapping: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
COMMANDS_for_Windows: -, _, =, +, A, a, G, g, w
![](http://blog.linoxide.com/wp-content/uploads/2014/10/top.png)
#### 8. Sysdig - 系统进程的高级视图 ####
**Sasdig**是一个能够让系统管理员和开发人员前所未有的洞察其系统行为的监控工具。其开发团队出于改善系统层次的监控方式以及通过提供关于**存储,进程,网络和内存**子系统的**统一有序**以及**粒度可见**的方式来进行错误排查,通过创建系统活动记录文件使得你可以在任何时间轻松分析。
简单例子:
# sysdig proc.name=vim
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig evt.type=chdir and user.name=root
# sysdig -l
# sysdig -L
# sysdig -c topprocs_net
# sysdig -c fdcount_by fd.sport "evt.type=accept"
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig -c topprocs_file
# sysdig -c fdcount_by proc.name "fd.type=file"
# sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
# sysdig -c topprocs_cpu
# sysdig -c topprocs_cpu evt.cpu=0
# sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
# sysdig evt.type=open and fd.name contains /etc
![](http://blog.linoxide.com/wp-content/uploads/2014/10/sysdig.jpg)
**更多信息** 可以在 [如何利用sysdig改善系统层次的监控和错误排查][8]
#### 9. netstat - 显示开放的端口和连接 ####
它是**Linux管理员**使用来显示不同网络信息的工具,如查看什么端口开放和什么网络连接已经建立以及何种进程运行在这种连接之上。同时它也显示了**Unix套接**字的信息这些套接字在不同的程序中为打开状态。作为大多数Linux发行版本的一部分netstat的许多命令在 [netstat和它的不同输出][9]中有详细的描述。最为常用的如下:
$ netstat | head -20
$ netstat -r
$ netstat -rC
$ netstat -i
$ netstat -ie
$ netstat -s
$ netstat -g
$ netstat -tapn
### 10. tcpdump - 洞察网络包 ###
**tcpdump**可以用来查看**网络连接**包的内容。它显示了传输过程中包内容的各种信息。为了使得输出信息更为有用,它允许使用者通过不同的过滤器获取自己想要的信息。可以参照的例子如下:
# tcpdump -i eth0 not port 22
# tcpdump -c 10 -i eth0
# tcpdump -ni eth0 -c 10 not port 22
# tcpdump -w aloft.cap -s 0
# tcpdump -r aloft.cap
# tcpdump -i eth0 dst port 80
你可以找到详细的[描述在topdump和捕捉包][10]文章中。
#### 11. vmstat - 虚拟内存统计信息 ####
**vmstat**是虚拟内存(**virtual memory** statistics)的缩写,作为一个**内存监控**工具,它收集和显示概括关于**内存****进程****终端**和**分页**和**I/O阻塞**的信息。作为一个开源程序它可以再大部分Linux发行版本中找到包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题
![](http://blog.linoxide.com/wp-content/uploads/2014/10/vmstat_delay_5.png)
**M更多信息** 参考 [vmstat命令文章][11]。
#### 12. free - 内存统计信息 ####
free是另一个能够在终端中标准输出内存和交换空间使用的命令行工具。由于它的简易它经常用于快速查看内存使用或者是应用于不同的脚本和应用程序中。在这里你可以看到[这个小程序的许多应用][12]。几乎所有的系统管理员日常都会用这个工具。:-)
![](http://blog.linoxide.com/wp-content/uploads/2014/10/free_hs3.png)
#### 13. Htop - 更加友好的top ####
**Htop**基本上是一个top改善版本它能够显示更多的统计信息和更加多彩的方式同时允许你采用不同的方式进行排序它提供了一个**用户友好**的接口。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/htop.png)
你可以找到 **更多的信息** 在 [关于htop和top的比较][13]文章中。
#### 14. ss - 更现代感的网络管理替代工具 ####
**ss**是**iproute2**包的一部分。iproute2趋向于替代一整套标准的**Unix网络**工具组件,它曾经用来完成[网络接口配置路由表和管理ARP表][14]任务。ss工具用来存储套接字统计信息也能够类似netstat一样显示信息同时也能显示更多TCP和状态信息。一些例子如下
# ss -tnap
# ss -tnap6
# ss -tnap
# ss -s
# ss -tn -o state established -p
#### 15. lsof - 列表显示打开的文件 ####
**lsof**命令,意为“**list open files**”, 用于在许多类Unix系统中显示所有打开状态的文件和打开它们的进程。在大部分Linux发行版和其他类Linux操作系统中系统管理员用它来检查不同的进程打开了哪些文件。你可以在这里找到更多的例子。
# lsof +p process_id
# lsof | less
# lsof u username
# lsof /etc/passwd
# lsof i TCP:ftp
# lsof i TCP:80
你可以找到 **更多例子** 在[lsof 文章][15]
#### 16. iftop - 类似top的了网络连接工具 ####
**iftop**是一个基于网络信息的类似top的程序。它能够显示当前时刻按照**带宽使用**量或者上传或者下载量排序的**网络连接**状况。它同事提供了下载文件的预估完成时间。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/iftop.png)
**更多信息**可以参考[网络流量iftop文章][16]
#### 17. iperf - 网络性能工具 ####
**iperf**是一个**网络测试**工具,能够创建**TCP**和**UDP**数据连接和测量该网络能够传输它们的**性能**。它支持调节关于时间,协议和缓冲等不同的参数。对于每一个测试,它会报告带宽,丢包和其他的一些参数。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/iperf-e1413378331696.png)
如果你想用使用这个工具,可以参考这篇文章: [如何安装和使用iperf][17]
#### 18. Smem - 高级内存报表工具 ####
**Smem**是一个比较高级的**Linux**命令行工具,它提供关于系统中已经使用的和共享的实际内存,试图提供一个更为可靠地当前**内存**使用数据。
$ smem -m
$ smem -m -p | grep firefox
$ smem -u -p
$ smem -w -p
参考我们的文章:[Smem更多的例子][18]
### 图形化或基于Web的性能工具 ###
#### 19. Icinga - Nagios的社区分支版本 ####
**Icinga**是一个**开源免费**的网络监控程序作为Nagios的分支它获取了前者现存的大部分功能同时基于这些功能又增加了社区用户要求已久的功能和补丁。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/Icinga-e1413377995731.png)
**更多信息**参考[安装和配置lcinga文章][19].
#### 20. Nagios - 最为流行的监控工具. ####
作为在Linux上使用最为广泛和流行的**监控方案**,它有一个守护程序用来收集不同进程和远程主机的信息,这些收集到的信息都通过功能强大**的web界面**进行呈现。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/nagios-e1413305858732.png)
你可以在 **找到更多的信息** 在[如何安装nagios][20]
#### 21. Linux process explorer - Linux下的procexp ####
**Linux process explorer**是一个Linux下的图形化进程浏览工具。它能够显示不同的进程信息如进程数TCP/IP连接和每一个进程的性能指标。作为**Windows**下**procexp**在Linux的替代品是由**Sysinternals**开发的,其目标是相比**top**和**ps**用户体验更加的友好。
查看 [linux process explorer 文章][21]获取更多信息。
#### 22. Collectl - 性能监控工具 ####
你可以既可以通过交互的方式使用这个**性能监控**工具,也可以用它产生**报表**并通过web服务器来访问它在磁盘上的数据。它以一种**易读易管理**的文件格式,记录了**CPU磁盘内存网络网络文件系统进程slabs**等统计信息于。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/collectl.png)
**更多** 关于[Collectl的文章][22]。
#### 23. MRTG - 经典网络流量监控图形工具 ####
这是一个采用**rrdtool**的提供给用户图形化流量监控工具。作为**最早**的提供**图形化界面**的工具它被广泛应用在类Unix的操作系统中。查看我们关于[如何使用MRTG][23]的文章获取更多关于安装和配置的信息。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/mrtg.png)
#### 24. Monit - 简单易用的监控工具 ####
**Monit**是一个用来**监控进程****系统加载****文件系统**和**目录文件**等的开源的Linux工具。你能够让它自动化维护和修复也能够在运行错误的情景下执行动作或者发邮件报告提醒系统管理员。如果你想要用这个工具你可以查看[如何使用Monit的文章][24]。
![](http://blog.linoxide.com/wp-content/uploads/2014/10/monit.png)
#### 25. Munin - 为服务器提供监控和提醒服务 ####
作为一个网络资源监控工具,*Munin**能够帮助分析**资源趋势**和**查看弱节点**以及导致产生**性能问题**的原因。开发此软件的团队系统它能够易用和用户体验友好。该软件是用Perl开发的同时采用**rrdtool**来绘制图形,使用了**web接口**进行呈现。开发人员推广此应用时声称“**插件化和易用**”目前已有500多个监控插件可结合使用。
**更多信息**可以在[关于Munin的文章][25]。
--------------------------------------------------------------------------------
via: http://linoxide.com/monitoring-2/linux-performance-monitoring-tools/
作者:[Adrian Dinu][a]
译者:[译者ID](https://github.com/andyxue)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/adriand/
[1]:http://linoxide.com/monitoring-2/dstat-monitor-linux-performance/
[2]:http://linoxide.com/monitoring-2/guide-using-linux-atop/
[3]:http://linoxide.com/monitoring-2/install-nmon-monitor-linux-performance/
[4]:http://linoxide.com/linux-command/kernel-slab-cache-information/
[5]:http://linoxide.com/linux-command/linux-system-performance-monitoring-using-sar-command/
[6]:http://linoxide.com/monitoring-2/monitor-linux-saidar-tool/
[7]:http://linoxide.com/linux-command/linux-top-command-examples-screenshots/
[8]:http://linoxide.com/tools/sysdig-performance-linux-tool/
[9]:http://linoxide.com/linux-command/netstat-commad-with-all-variant-outputs/
[10]:http://linoxide.com/linux-how-to/network-traffic-capture-tcp-dump-command/
[11]:http://linoxide.com/linux-command/linux-vmstat-command-tool-report-virtual-memory-statistics/
[12]:http://linoxide.com/linux-command/linux-free-command/
[13]:http://linoxide.com/linux-command/linux-htop-command/
[14]:http://linoxide.com/linux-command/ss-sockets-network-connection/
[15]:http://linoxide.com/how-tos/lsof-command-list-process-id-information/
[16]:http://linoxide.com/monitoring-2/iftop-network-traffic/
[17]:http://linoxide.com/monitoring-2/install-iperf-test-network-speed-bandwidth/
[18]:http://linoxide.com/tools/memory-usage-reporting-smem/
[19]:http://linoxide.com/monitoring-2/install-configure-icinga-linux/
[20]:http://linoxide.com/how-tos/install-configure-nagios-centos-7/
[21]:http://sourceforge.net/projects/procexp/
[22]:http://linoxide.com/monitoring-2/collectl-tool-install-examples/
[23]:http://linoxide.com/tools/multi-router-traffic-grapher/
[24]:http://linoxide.com/monitoring-2/monit-linux/
[25]:http://linoxide.com/ubuntu-how-to/install-munin/