程序员常用的12个监视Linux命令行工具

成为Linux管理员并非易事。要使系统正常运行,需要花费大量时间,耐心和辛勤的工作。在本文中,我们将介绍12个常用的监视Linux性能的命令行工具。

成为Linux管理员并非易事。要使系统正常运行,需要花费大量时间,耐心和辛勤的工作。但是Linux系统管理员可以在命令行监控工具方面获得一些帮助,因为他们可以提供一些帮助。这些工具可帮助他们掌握Linux服务器的性能,并在发现异常时进行修复。在本文中,我们将介绍12个常用的监视Linux性能的命令行工具。

1) Top命令

毫无疑问,top命令是监视Linux的第一条命令行工具。它是全世界Linux系统管理员最广泛使用的命令之一。它以有序列表的形式快速提供有关所有正在运行的进程的详细信息。该列表也保持实时更新。不仅进程名称,还显示内存使用率和CPU使用率等。

2 ) vmstat

vmstst是非常实用程序的linux命令行,在我们的列表中排名第二。其主要任务用于显示虚拟内存统计信息。它还可以帮助您显示各种信息,包括所有系统进程,CPU活动,页面调度,block IO,内核线程和磁盘等。vmstat是几乎所有Linux发行版中默认安装的一部分,因此安装后即可直接使用。

3)lsof

如果要查看系统中当前打开的所有文件,则需要使用lsof命令。它还用于监视当前使用的所有进程。该命令的主要优点之一是,当无法卸载磁盘时,它可以帮助管理员查看当前正在使用的文件。使用此命令,可以轻松识别这些文件。lsof命令在默认的Linux OS安装之后不可用,因此首先我们必须使用以下命令进行安装:

CentOS / RHEL

$ sudo yum install -y lsof              // CentOS 7 / RHEL 7 or before
$ sudo dnf install -y lsof              // CentOS 8 / RHEL 8

Ubuntu / Debian

$ apt-get install -y lsof
Or
$ apt-get install -y lsof

要使用lsof命令,请键入lsof,然后按Enter键

4)tcpdump

Tcpdump是另一个命令行实用程序,允许Linux系统管理员和网络工程师监视通过网络传输的所有TCP / IP数据包。使用tcpdump,还可以将所有数据包保存在单独的文件中,以供将来分析。

Tcpdump不是默认操作系统安装的一部分,因此在开始使用它之前,请先通过以下命令进行安装:

$ sudo yum install tcpdump -y    // CentOS 7 / RHEL 7 or before
$ sudo dnf install tcpdump -y    //CentOS 8 / RHEL 8
$ sudo apt install tcpdump -y    // Ubuntu / Debian

要开始在特定接口上捕获数据包,请运行以下命令,

#tcpdump -i enp0s3

5)netstat

Netstat是用于网络故障排除的最古老的命令行实用程序之一。使用netstat,我们可以轻松找到网络连接,路由表,以太网卡统计信息和伪装连接。换句话说,可以说,它还可以帮助您快速解决与网络相关的所有问题。在最新的Linux发行版中,netstat不是默认安装的一部分。使用under命令将其安装在不同的Linux发行版上。

CentOS 8 / RHEL 8

$ sudo dnf install net-tools -y

Ubuntu / Debian

$ sudo apt install -y net-tools

运行以下命令以列出您的Linux系统上的所有tcp连接,

#netstat -tunlp

6)htop

htop命令是另一个功能丰富的命令行实用程序,可实时监视Linux系统中的各种重要资源。与top命令相比,htop是经过大量改进的版本,甚至提供了颜色编码的输出,以便于理解。它还支持水平和垂直查看,还允许管理员管理流程。

要在Linux系统上安装htop,请执行以下命令,

$ sudo yum install -y htop              // CentOS 7 / RHEL 7 or before
$ sudo dnf install -y htop              // CentOS 8 / RHEL 8 or before
$ sudo apt install -y htop              // Ubuntu / Debian

htop命令的示例输出:

$ htop

7)iotop

iotop是另一个免费的命令行实用程序,允许管理员监视磁盘I / O使用情况的详细信息。尽管它与top和htop命令相似,但是iotop的主要优点之一是它为系统中的特定线程或进程提供了详细信息。因此,系统管理员可以轻松地识别导致大量I / O重写到服务器的过程。

要在不同的Linux发行版上安装iotop,请运行

$ sudo dnf install -y iotop // CentOS 8 / RHEL 8 
$ sudo yum install -y iotop // CentOS 7 / RHEL 7 
$ sudo apt install -y iotop // Ubuntu / Debian

要开始使用iotop实用程序,请在命令行上输入iotop并按Enter,

$ iotop

8)iostat

顾名思义,iostat 是一个Linux命令行工具,它提供有关设备和分区的系统输入/输出的详细统计信息。Linux系统管理员还可以使用此命令行工具来监视本地磁盘和远程磁盘(NFS)的性能。

iostat的示例输出如下所示:

$ iostat

9)  goaccess

Goaccess是开源的实时日志查看器和分析器命令行工具。它几乎可用于所有Linux发行版。它可用于查看所有Web服务器(Nginx,Apache,Amazon S3和CloudFront等)的实时日志。

在CentOS 8 / RHEL 8上安装Goaccess

$ wget https://pkgs.dyn.su/el8/base/x86_64/goaccess-1.3-3.el8.x86_64.rpm 
$ sudo dnf localinstall goaccess-1.3-3.el8.x86_64.rpm -y

Ubuntu / Debian

$ sudo apt get install goaccess

要分析实时Apache Web服务器的日志,请运行以下goaccess命令

$ sudo goaccess / var / log / httpd / access_log --log-format = COMBINED

10) glances

Glances是一个免费的跨平台命令行工具,用于监视linux系统。Glances可用于几乎所有Linux发行版,并且可以收集除监视之外的系统统计信息。它是用python编写的,并利用psutil库从系统中检索有用的信息。扫视可以以三种不同的方式使用:

独立命令行实用程序 客户端和服务器 网络服务器

要在CentOS / RHEL系统上安装一览表,请运行

$ sudo dnf install -y glances // CentOS 8 / RHEL 8 
$ sudo yum install -y glances // CentOS 7 / RHEL 7

要在Ubuntu / Debian系统上安装Glances,请运行

$ sudo apt get install -y glances

要开始使用glances,请输入glances命令,

$ glances

11)iptraf

列表中的下一个是iptraf,这是一个命令行实用程序,可提供对以太网卡和网络的实时监视。使用iptraf,系统和网络管理员可以收集很多详细信息,包括:

TCP流量摘要 ICMP IP流量 UDP流量 界面活动 统计细目 详细的界面统计

与iftop之类的其他命令相比,可以说iptraf提供了更详细的细分和统计信息。Iptraf不是默认操作系统安装的一部分,因此要安装它,请运行以下命令,

CentOS / RHEL

$ sudo dnf install -y iptraf-ng
Or
$ sudo yum install -y iptraf-ng

 Ubuntu / Debian

$ sudo apt install -y iptraf-ng

要启动iptraf实用程序,请键入iptraf-ng命令并选择以太网卡,

$ iptraf-ng

12)Iftop

在我们列表中排名第12位的命令行工具是iftop工具。它是一个简单的命令行工具,向您显示Linux系统的以太网卡上的带宽使用情况。系统和网络管理员使用此工具进行带宽监视。使用iftop,您可以在它侦听的第一个网络接口中查看源和目标。

要在CentOS / RHEL系统上安装iftop,请运行以下命令

$ sudo dnf install -y iftop 
$ sudo yum install -y iftop

对于Ubuntu / Debian系统,运行

$ sudo apt install -y iftop

输入iftop来启动该实用程序,示例如下所示:

$ iftop