一、CPU信息
Linux系统下,查看CPU的信息最常用的命令是lscpu。该命令可以显示CPU架构、核心数量、线程数、缓存大小、CPU频率等信息。例如:
lscpu
该命令会输出类似以下的信息:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 78
Model name: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
Stepping: 3
CPU MHz: 2700.000
CPU max MHz: 2800.0000
CPU min MHz: 400.0000
BogoMIPS: 4608.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
通过lscpu可以清楚地了解CPU的型号、架构、核数、线程数、缓存大小等相关信息,这对于诊断系统性能瓶颈和优化系统性能非常有帮助。
二、内存信息
Linux系统下查看系统内存信息的命令很多,比较常用的命令有free、top和vmstat。其中,free命令可以用于查看系统的内存总量、已用内存、可用内存等信息。例如:
free -m
该命令会输出类似以下的信息:
total used free shared buffers cached
Mem: 3959 2501 1458 281 65 1050
-/+ buffers/cache: 1386 2572
Swap: 4095 0 4095
该命令输出的是内存的总容量、已用的容量、空闲的容量、共享的内存、缓存和已缓存的内存等信息。
top和vmstat命令可以实时显示内存的使用情况、缓存和交换分区的使用情况、进程的内存使用情况等信息。
三、硬盘信息
Linux系统下查看硬盘信息的命令主要是fdisk、df和du。
fdisk命令可以查看磁盘的分区情况。该命令需要root权限才能使用。例如:
sudo fdisk -l
该命令会输出类似以下的信息:
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 1921180159 1921178112 915.8G 83 Linux
/dev/sda2 1921182206 1953523711 32381506 15.5G 5 Extended
/dev/sda5 1921182208 1953523711 32381504 15.5G 82 Linux swap / Solaris
上述输出结果中,设备/dev/sda是指的是磁盘分区的设备名, 931.5 GiB, 1000204886016 bytes是指的是磁盘总大小。
df命令可以查看系统挂载的文件系统的信息,包括已使用的空间以及剩余空间等信息。例如:
df -h
该命令会输出类似以下的信息:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora-root 45G 7.2G 35G 18% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 1.1M 1.9G 1% /dev/shm
tmpfs 1.9G 1.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 976M 161M 749M 18% /boot
du命令可以用来查看指定文件或目录所占用的磁盘空间。
例如:du -h /var/log
该命令会输出类似以下的信息:
4.0K /var/log/tallylog
0 /var/log/gdm
4.0K /var/log/lastlog
16K /var/log/sa
16K /var/log/audit
1.7M /var/log/cups
10M /var/log/zhcon
4.3M /var/log/rpmpkgs
36K /var/log/httpd
2.2M /var/log/faillock
15M /var/log
上述命令输出结果中,使用-k选项可以按照KB单位显示每个目录或文件所占用的空间。
四、进程和服务信息
在Linux系统下,我们可以通过ps、top和systemctl等命令来查看系统的进程和服务信息。
ps命令可以查看当前所有进程的信息,包括进程的PID、状态、运行时间、命令等信息。例如:
ps aux
该命令会输出所有进程的详细信息,可以通过grep命令进行筛选。
top命令可以实时显示当前正在运行的进程的情况,包括进程的状态、CPU使用率、内存使用情况等信息。
systemctl可以查看系统的服务信息,包括服务的状态、启动方式、运行时间等信息。
例如:systemctl status sshd.service
该命令可以查看sshd服务的运行状态。
五、其他信息
Linux系统下还有许多其他命令可以查看各种系统信息,例如:
uname命令可以查看系统内核的版本信息。
例如:uname -a
该命令可以输出如下信息:
Linux localhost.localdomain 4.16.3-301.fc28.x86_64 #1 SMP Fri Apr 20 14:12:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
iostat命令可以查看磁盘I/O的情况,包括读写速度、IOPS等信息。
例如:iostat -x
该命令可以输出类似以下的信息:
Linux 4.16.3-301.fc28.x86_64 (localhost.localdomain) 05/08/2018 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.99 0.00 0.98 0.14 0.00 95.89
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.09 3.16 1.14 1.90 0.02 0.03 28.94 0.03 11.47 37.07 1.19 1.84 0.54
sar命令可以查看系统的历史负载信息。例如:
sar -q
该命令可以输出CPU和负载的历史信息,例如:
Linux 4.16.3-301.fc28.x86_64 (localhost.localdomain) 05/08/2018 _x86_64_ (4 CPU)
11:05:01 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
11:15:01 PM 0 570 1.07 1.21 1.31 0
11:25:01 PM 0 559 0.69 1.05 1.26 0
11:35:02 PM 0 560 0.53 0.94 1.21 0
11:45:01 PM 0 587 0.29 0.76 1.17 0
11:55:01 PM 0 582 0.14 0.55 1.11 0
总的说来,Linux系统下有很多命令可以用于查看系统信息,以上只是其中的一部分。在实际工作中,根据需要选择合适的命令来查看相关信息,对于诊断系统问题和优化系统性能都是非常有帮助的。