在日常的服务器运维工作中,了解系统的资源使用情况是保障系统稳定运行的重要环节。对于运行在Ubuntu系统上的服务器来说,尤其是那些部署了深度学习、机器学习或者高性能计算任务的环境,掌握GPU和CPU的实时状态显得尤为重要。本文将详细介绍如何在Ubuntu服务器上查看GPU和CPU的实时使用情况。
一、查看CPU使用情况
Ubuntu系统提供了多种命令行工具来监控CPU的使用情况,其中最常用的是`top`、`htop`、`mpstat`和`vmstat`等。
1. top 命令
`top` 是一个非常基础且实用的系统监控工具,可以实时显示系统的整体负载、进程状态以及各个CPU核心的使用情况。
```bash
top
```
在`top`界面中,你可以看到每个CPU核心的使用率,以及各个进程的占用情况。
2. htop 命令(推荐)
`htop` 是 `top` 的增强版,界面更加友好,支持鼠标操作,并且能够更直观地展示CPU和内存的使用情况。
安装方法如下:
```bash
sudo apt install htop
```
然后直接输入:
```bash
htop
```
3. mpstat 命令
`mpstat` 可以显示每个CPU核心的详细使用情况,适合需要精细化监控的场景。
安装方式(如果未安装):
```bash
sudo apt install sysstat
```
使用方法:
```bash
mpstat -P ALL 1
```
这个命令会每秒刷新一次,显示所有CPU核心的使用情况。
4. vmstat 命令
`vmstat` 主要用于查看系统的虚拟内存、进程、CPU活动等信息,虽然不专门针对CPU,但也能提供一定的参考价值。
```bash
vmstat 1
```
二、查看GPU使用情况
在Ubuntu服务器上查看GPU使用情况,通常依赖于NVIDIA的驱动和相关工具,特别是如果你使用的是NVIDIA GPU。
1. nvidia-smi 命令
`nvidia-smi` 是NVIDIA提供的一个命令行工具,可以查看GPU的使用情况、温度、显存占用等信息。
安装方式(如果尚未安装):
```bash
sudo apt install nvidia-smi
```
直接输入:
```bash
nvidia-smi
```
输出结果包括GPU型号、当前使用的进程、显存占用、温度等关键信息。
2. gpustat 工具(可选)
如果你希望以更简洁的方式查看GPU状态,可以使用 `gpustat` 工具,它能以表格形式展示各GPU的使用情况。
安装方式:
```bash
pip install gpustat
```
使用方式:
```bash
gpustat
```
3. NVIDIA DCGM(Data Center GPU Manager)
对于企业级用户或高负载环境,NVIDIA DCGM 提供了更高级的监控和管理功能,可以通过命令行或图形界面进行查看。
三、结合脚本实现自动化监控
为了方便日常运维,可以编写简单的Shell脚本,定时输出CPU和GPU的使用情况,或者将数据记录到日志文件中。
例如,以下是一个简单的脚本示例:
```bash
!/bin/bash
echo "=== CPU Usage ==="
top -b -n 1 | grep "Cpu(s)"
echo "=== GPU Usage ==="
nvidia-smi --query-gpu=index,name,temperature.gpu,utilization.gpu,memory.used,memory.total --format=csv,noheader
```
保存为 `monitor.sh` 并赋予执行权限:
```bash
chmod +x monitor.sh
```
然后定期运行即可。
四、总结
在Ubuntu服务器上查看GPU和CPU的实时使用情况,不仅可以帮助我们及时发现性能瓶颈,还能有效预防系统过载和资源浪费。通过上述提到的命令和工具,你可以轻松掌握系统的运行状态,为后续的优化和调整提供数据支持。无论是日常维护还是复杂任务部署,这些工具都是不可或缺的助手。