1. vmstat:
- 使用 vmstat可以查看系统的整体性能,包括 CPU 使用率、内存使用情况、磁盘 IO 和网络活动等。
- 基本用法:vmstat(无参数)会显示实时更新的系统统计信息。
- 例如,vmstat 1 会每秒更新一次信息,持续显示。
2. iostat:
- iostat 主要用于监控系统输入输出的性能,可以查看 CPU 和磁盘 IO 的使用情况。
- 基本用法:`iostat`(无参数)会显示 CPU 和所有磁盘的统计信息。
- 例如,`iostat -d` 会专注于磁盘 IO 的统计。
3. netstat:
- `netstat` 用于显示网络连接、路由表、接口统计等信息。
- 基本用法:`netstat -tuln` 会显示 TCP 和 UDP 的监听端口以及监听状态。
- 注意:在某些系统中,`netstat` 可能被 `ss` 命令取代,后者提供了更丰富的功能。
4. lsof:
- `lsof` 列出了当前系统打开的文件,这对于查找哪个进程打开了特定文件或端口非常有用。
- 基本用法:`lsof -i` 会列出所有打开的网络文件(通常是套接字)。
- 例如,`lsof -i :80` 会显示监听端口 80 的进程。
5. pidstat:
- `pidstat` 是一个更高级的工具,可以详细显示进程级别的资源使用情况。
- 基本用法:`pidstat -u` 会显示每个进程的 CPU 使用情况。
- 例如,`pidstat -r` 会显示内存使用情况,`pidstat -d` 会显示磁盘 IO。
要诊断问题,可以首先使用 `vmstat` 和 `iostat` 来获取系统级别的概览,然后使用 `lsof` 和 `pidstat` 来深入到特定进程。
如果需要查看网络连接,可以使用 `netstat` 或 `ss`。这些工具的输出可以帮助识别哪些进程可能在消耗过多的资源,并采取相应的措施,比如优化代码、调整配置或结束不必要的进程。