在linux中提供了很多有用的工具,以方便开发人员调试和评测服务器程序。下面介绍几个常用的工具:tcpdump,nc,strace,lfos,netstat,vmstat,ifstat和mpstat。
1. tcpdump
tcpdump是一个网络抓包工具,它提供了大量的选项,用以过滤数据包或者定制输出格式。
tcpdump的man手册。
2. lsof
lsof(list open file)是一个列出当前系统打开的文件描述符的工具。通过它我们可以了解感兴趣的进程打开了哪些文件描述符,或者我们感兴趣的文件描述符被哪些进程打开了。
3. nc
nc(netcat)命令主要被用来快速构建网络连接。我们可以让它以服务器方式运行,监听某个端口并接受客户连接,因此它可以用来调试客户端程序。我们也可以使之以客户端方式运行,向服务器发起连接并收发数据,因此它可以用来调试服务器程序。
4. strace
strace是测试服务器性能的重要工具。它跟踪程序运行过程中执行的系统调用和接收到的信号,并将系统调用名,参数,返回值及信号名输出到标准输出或者指定的文件。
5. netstat
netstat是一个功能很强大的网络信息统计工具。它可以打印本地网卡接口上的全部连接,路由器信息,网卡接口信息等。
6. vmstat
vmstat是virtual memory statistics的缩写,它能实时输出系统的各种资源的使用情况,比如进程信息,内存使用,CPU使用率以及I/O使用情况。
7. ifstat
ifstat是interface statistics的缩写,它是一个简单的网络流量监测工具。
8. mpstat
mpstat是multi-processor statistics的缩写,它能实时监测多处理器系统上每个CPU的使用情况。