对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。
1.Top-Linux进程监控Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。对系统管理员来说,top命令式是一个非常有用的,它可用于监控系统并在需要的时候采取正确的处理动作。让我们看看实际中的top命令。
#top
2.VmStat–虚拟内存统计Linux的VmStat命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O块、中断、CPU活动等的统计信息。缺省情况下,vmstat命令在Linux系统下不可用,你需要安装一个包含了vmstat程序的sysstat软件包。命令格式的常见用法是:
#vmstatprocs-----------memory-------------swap-------io------system-------cpu-----rbswpdfeinactactivesisobiboincsussyidwast
3.Lsof-列出打开的文件在许多Linux或者类Unix系统里都有lsof命令,它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。这条命令最常用的格式如下:
#lsofCOMMANDPIDUSERFDTYPEDEVICESIZENODENAMEinit1rootcwdDIR,/init1rootrtdDIR,/init1roottxtREG,39/sbin/initinit1rootmemREG,3/lib/ld-2.5.soinit1rootmemREG,54/lib/libc-2.5.soinit1rootmemREG,/lib/libdl-2.5.soinit1rootmemREG,9/lib/libsepol.so.1init1rootmemREG,/lib/libselinux.so.1init1root10uFIFO0,/dev/initctl
4.Tcpdump-网络包分析器Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。在几乎所有主要的Linux发布里,tcpdump都可以使用。
#tcpdump-ieth0tcpdump:verboseoutputsuppssed,use-vor-vvforfullprotocoldecodelisteningoneth0,link-typeEN10MB(Ethernet),captusize96bytes22:08:59.IPtecmint.