linux系统高级命令

把遇到的命令都记录下

1. iostat

用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况

http://www.orczhou.com/index.php/2010/03/iostat-detail/

注意其中显示的iowait指标,表示的是CPU忙还是闲,而不是IO,http://leweiup.com/questions/747

2. vmstat

用来监控虚拟内存,内核线程、磁盘、陷阱和 CPU 活动的统计信息

http://hi.baidu.com/zxm_xdl/blog/item/f4af0bb3c7dbf9b5db335a74.html

3. free

free命令可以显示内存使用信息,而/proc/meminfo 文件记录了更详细的内存信息

4. mpstat

mpstat是MultiProcessor Statistics的缩写,报告与CPU相关的一些统计信息,这些信息存放在/proc/stat文件中

5. pmap

report memory map of a process,获取一个指定进程的内存映射表

http://blog.51osos.com/linux/linux-pmap-command/

6. ps , pstree , pstack

ps 和 pstree 命令都可以列出正在运行的所有进程。ps 告诉你每个进程占用的内存和 CPU 处理时间,而 pstree 显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息。ps命令的常用参数有aux

pstack显示每个进程的栈跟踪

7. fuser

显示哪些进程用到了某个文件、socket、文件系统。比如,fuser /bin/bash

8. lsof

/usr/sbin/lsof 是unix调试的利器,它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它更多。因为Unix系统中几乎所有东西都是文件..

http://heikezhi.com/2011/06/19/swiss-army-knife-of-unix-debugging-lsof/

此外,某个进程在/proc/下面都有一个fd得目录,这个目录记录着一个进程打开文件得记录,ls /proc//fd

9. strace

strace经常用于程序调试。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件。

strace在跟踪某个进程时会让该进程的性能变得非常差,因此需要谨慎使用。

10. dstat

dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是, dstat也可以收集指定的性能资源, 譬如 dstat -c 即显示CPU的使用情况.

11. memusage

glibc自带的实用工具,用来查看一个程序的内存占用。

12. sar 和 tsar

sar 命令被誉为系统监控工具里的瑞士军刀。sar可以显示CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据。sar最强大的功能是搜集历史数据并创建数据文件。每一个Linux系统都应该通过cron工作收集sar数据。该sar数据文件为系统管理员提供历史性能信息。

13. netstat

显示了大量跟网络相关的信息,例如 socket 的使用、路由、接口、协议、网络等等。常用的参数有 -natp

14. tcpdump

tcpdump 是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。

15. wireshark

wireshark, 前身是 Ethereal ,是一个网络协议检测程序,让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容,方便查看、监控TCP session动态等等。

16. ss

iproute包的一个工具,显示Linux的TCP/UDP连接的信息和Socket

17. nmon

http://nmon.sourceforge.net/pmwiki.php

18. vmtouch

http://hoytech.com/vmtouch/

用来查看某些文件或某目录下的所有文件的内容是否已经驻留内存(pagecache)。还可以强制把文件的内容加载或者移出内存。

19. ftools

https://code.google.com/p/linux-ftools/

利用Linux的系统调用 mincore, fallocate, fadvise 而做的工具,可用于检测内核信息,调试性能问题。

20. dmesg

显示开机信息。
kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里

发表评论

电子邮件地址不会被公开。 必填项已用*标注