在 Linux 系统中,查看内存、CPU、磁盘使用率和其他硬件信息的工具非常多,这些工具可以帮助你监控系统性能、诊断问题、优化系统资源等。以下是一些常用命令和工具来查看系统资源的使用情况和详细信息。
1. 查看内存使用情况
1.1 free 命令
free 命令用于显示系统的内存使用情况,显示的内容包括已使用内存、空闲内存、缓存和交换空间等。
free -h
-h:以人类可读的格式显示(比如以 KB、MB 或 GB 为单位)。
输出样例:
total used free shared buff/cache available
Mem: 16G 6.2G 1.5G 153M 8.3G 9.2G
Swap: 2.0G 0B 2.0G
1.2 top 命令
top 命令是实时显示系统中各个进程的 CPU 和内存占用情况,并可以进行交互操作。
top
- 按
M可以按照内存使用量排序。 - 按
P可以按照 CPU 使用率排序。
1.3 htop 命令
htop 是 top 命令的增强版本,提供了一个更友好的用户界面,显示实时的 CPU、内存、交换空间等资源的使用情况。
安装 htop:
sudo apt install htop # Ubuntu/Debian 系统
sudo yum install htop # CentOS/RHEL 系统
启动 htop:
htop
1.4 /proc/meminfo 文件
/proc/meminfo 文件提供了系统内存的详细信息,适合用来查看更具体的内存数据。
cat /proc/meminfo
输出样例:
MemTotal: 16306460 kB
MemFree: 1548784 kB
MemAvailable: 9420932 kB
Buffers: 304184 kB
Cached: 7452268 kB
2. 查看 CPU 使用情况
2.1 top 命令
top 命令的顶部会显示 CPU 的使用情况,包括每个核心的使用百分比。可以按 %CPU 列来查看各个进程的 CPU 使用率。
top
2.2 mpstat 命令
mpstat 命令(属于 sysstat 软件包)用于显示各个 CPU 核心的使用情况。
安装 sysstat:
sudo apt install sysstat # Ubuntu/Debian 系统
sudo yum install sysstat # CentOS/RHEL 系统
查看所有 CPU 核心的使用情况:
mpstat -P ALL 1
-P ALL:显示所有 CPU 核心的使用情况。1:每 1 秒刷新一次。
2.3 lscpu 命令
lscpu 命令用于显示 CPU 的详细信息,包括 CPU 的架构、核心数、线程数、CPU 频率等。
lscpu
输出样例:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Stepping: 10
CPU MHz: 2400.000
2.4 cat /proc/cpuinfo 文件
/proc/cpuinfo 文件包含了关于 CPU 的详细信息,例如处理器的型号、核心数量、频率等。
cat /proc/cpuinfo
3. 查看磁盘使用情况
3.1 df 命令
df 命令用于查看文件系统的磁盘空间使用情况,包括各个挂载点的总空间、已用空间、可用空间等。
df -h
-h:以人类可读的格式显示(例如 GB、MB)。
输出样例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 18G 32G 36% /
tmpfs 3.9G 1.1M 3.9G 1% /dev/shm
3.2 du 命令
du 命令用于查看指定目录及其子目录的磁盘空间占用情况。
du -sh /path/to/directory
-s:仅显示总计,不显示子目录。-h:以人类可读的格式显示。
例如,查看当前目录的磁盘使用情况:
du -sh .
3.3 lsblk 命令
lsblk 命令显示所有块设备的信息,包括硬盘、分区和挂载点。
lsblk
输出样例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 50G 0 part /
3.4 fdisk -l 命令
fdisk -l 命令用于列出所有磁盘和分区的详细信息。
sudo fdisk -l
4. 查看磁盘 I/O 使用情况
4.1 iostat 命令
iostat 命令(属于 sysstat 包)用于查看磁盘的输入输出统计信息,包括 I/O 活动、设备利用率等。
iostat -x 1
-x:显示扩展的磁盘信息。1:每 1 秒刷新一次。
4.2 iotop 命令
iotop 是一个实时显示磁盘 I/O 使用情况的工具,类似于 top 命令,但专注于磁盘 I/O。
安装 iotop:
sudo apt install iotop # Ubuntu/Debian 系统
sudo yum install iotop # CentOS/RHEL 系统
运行 iotop:
sudo iotop
5. 查看系统的综合性能
5.1 vmstat 命令
vmstat 命令用于报告系统的虚拟内存、进程、CPU 活动等信息。
vmstat 1
1:每 1 秒刷新一次,显示虚拟内存、CPU 等统计信息。
5.2 sar 命令
SAR(System Activity Report)是 sysstat 包的一部分,提供了详细的系统活动统计数据,包括 CPU 使用、内存、I/O 等。
sar -u 1 3 # 显示 CPU 使用情况,每秒刷新一次,共 3 次
6. 总结
- 内存:使用
free、top、htop、/proc/meminfo等命令查看内存的使用情况。 - CPU:使用
top、mpstat、lscpu、/proc/cpuinfo等命令查看 CPU 的使用情况和详细信息。 - 磁盘:使用
df、du、lsblk、fdisk -l等命令查看磁盘空间使用情况,iostat和iotop用于查看磁盘 I/O 情况。
这些命令可以帮助你全面了解 Linux 系统的资源使用情况,进行性能分析、故障排除和优化。
发表回复