在 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 系统的资源使用情况,进行性能分析、故障排除和优化。
发表回复