在 Linux 系统中,你可以使用多个命令来查看当前机器的配置信息,包括 CPU、内存、磁盘和操作系统等信息。以下是一些常用的命令:
1. 查看 CPU 信息
lscpu
:显示 CPU 架构信息,如型号、核心数等。
使用场景
lscpu
命令非常适合于:
- 快速检查服务器或工作站的 CPU 配置。
- 识别系统中的 CPU 性能,例如在选择编译选项或优化软件性能时。
- 确定系统是否支持特定的 CPU 指令集或特性,例如虚拟化。
2. 查看内存信息
-
2.1:free -h
:显示内存使用情况,包括总内存、已使用、空闲等。
total:显示总内存(Mem)或交换空间(Swap)的大小。
used:显示已使用的内存或交换空间量。
free:显示未被使用的内存或交换空间量。
shared:显示多个进程共享的内存总量。
buff/cache:显示被用作缓冲和缓存的内存量。
available:显示可用于新进程的内存估计量,不会引起交换。这是因为一部分 buff/cache 内存实际上是可回收的。
-
2.2cat /proc/meminfo
:提供更详细的内存信息。
使用场景
- 监控内存使用:定期检查系统的内存使用情况,特别是当运行内存密集型应用时。
- 调试性能问题:如果你的应用或服务表现出性能问题,
free -h
可以帮助你确定是否是由于内存不足造成的。 - 系统配置:根据系统的内存使用情况调整相关配置,例如调整交换空间大小或优化内存使用。
3. 查看磁盘使用情况
-
df -h
显示磁盘空间使用情况。
Filesystem:显示文件系统的名称或标识。
Size:显示文件系统的总大小。
Used:显示已使用的空间量。
Avail:显示还剩余多少空间可用。
Use%:显示已使用空间的百分比。
Mounted on:显示文件系统挂载的目录。
使用场景
- 监控磁盘空间:定期检查系统的磁盘空间使用情况,特别是当运行数据密集型应用时。
- 预防空间不足:确保关键分区(如
/
、/home
、/var
等)有足够的空间,以避免由于空间不足导致的应用或系统故障。 - 磁盘管理:帮助决定何时需要清理磁盘空间或增加存储容量。
4. 查看操作系统信息
-
uname -a
:显示内核和操作系统的相关信息。
内核名称:如 Linux
。
节点名称:即系统的主机名。
内核发行版本:显示内核的版本号。
内核版本:提供更详细的内核版本信息,包括编译时间和编译器信息。
机器硬件名称:显示硬件平台名称(如 x86_64
表示 64 位系统)。
处理器类型:显示处理器类型,通常与机器硬件名称相同。
硬件平台:显示硬件平台(在一些系统中这与处理器类型相同)。
操作系统:显示操作系统信息,如 GNU/Linux
。
-
cat /etc/os-release
:显示发行版特定的系统信息。
使用场景
uname -a
命令非常适用于:
- 快速查看系统信息:了解正在运行的系统版本和内核信息。
- 故障排除和支持:在解决系统问题或寻求技术支持时提供必要的系统信息。
- 脚本和自动化:在编写脚本时,根据系统类型和版本作出相应的逻辑判断。
5. 查看网络配置
ip addr
:显示网络接口和 IP 地址信息。
ip addr
是一个在 Linux 系统中用于显示和管理网络接口地址的命令。它是 iproute2
包的一部分,用于替代过时的 ifconfig
命令。ip addr
提供了关于网络接口的详细信息,包括 IP 地址、子网掩码、广播地址和接口状态等。
命令说明
ip
:这是用于显示和操作路由、设备、策略路由和隧道的工具。addr
:这个子命令专注于管理和显示网络接口地址。
运行 ip addr
通常会显示如下输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1e:67:a4:45:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::21e:67ff:fea4:4500/64 scope link
valid_lft forever preferred_lft forever
这个输出包含以下信息:
- 接口名称和状态:例如
lo
(回环接口)和eth0
(以太网接口),以及它们的状态(如 UP、DOWN)。 - MTU(Maximum Transmission Unit):最大传输单元,即数据包的最大长度。
- qdisc(Queuing Discipline):排队规则。
- link/ether:物理地址(MAC 地址)。
- inet:IPv4 地址。
- inet6:IPv6 地址。
- brd:广播地址。
- scope:地址范围(例如
host
、link
、global
)。 - valid_lft 和 preferred_lft:地址有效期和首选期。
使用场景
ip addr
命令非常适用于:
- 查看 IP 地址:快速检查系统的 IP 地址和子网掩码。
- 诊断网络问题:帮助诊断网络连接问题。
- 网络配置和管理:用于配置网络接口和调整设置。
6. 查看硬盘和分区的详细信息
fdisk -l
:查看磁盘分区表。
fdisk -l
是一个在 Linux 系统中用来显示磁盘分区信息的命令。这个命令通常需要管理员权限来运行,因为它提供了关于系统中所有磁盘的详细分区信息。
命令说明
fdisk
:这是一个用于查看和操作磁盘分区的命令行工具。-l
:这个选项是 “list” 的简写,用于列出所有可识别的磁盘和分区的详细信息。
运行 sudo fdisk -l
会显示类似以下的输出:
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000DM010-2EP1
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: gpt
Disk identifier: 0A3C9A1B-1B30-4D39-B9CD-E7AAA6D188B6
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 1953523711 1952473088 931G Linux filesystem
这个输出包含以下信息:
- 磁盘设备:如
/dev/sda
,显示磁盘的设备文件。 - 磁盘大小:显示磁盘的总大小。
- 磁盘型号:显示磁盘的型号(如果可用)。
- 单位:显示磁盘分区的单位,通常是扇区。
- 扇区大小:显示逻辑和物理扇区的大小。
- I/O 大小:显示磁盘的最小和最佳 I/O 大小。
- 磁盘标签类型:如 gpt 或 mbr,表示磁盘分区表的类型。
- 磁盘标识符:显示磁盘的唯一标识符。
- 分区表:列出每个分区的起始和结束扇区、总扇区数、大小和类型。
使用场景
fdisk -l
命令非常适用于:
- 查看磁盘分区:快速检查系统中所有磁盘的分区布局。
- 规划磁盘分区:在添加新磁盘或重新分配磁盘空间时了解当前分区情况。
- 故障排除:帮助诊断与磁盘分区相关的问题。
7. 查看系统运行时间和负载
-
7.1:uptime
显示系统运行时间、用户数量和系统负载。
运行 uptime
通常会显示如下输出:
12:34:56 up 1 day, 2:03, 2 users, load average: 0.01, 0.05, 0.07
这个输出包含以下信息:
- 当前时间:显示命令执行时的系统时间,如
12:34:56
。 - 系统运行时间:显示自系统上次启动以来经过的时间,如
up 1 day, 2:03
表示系统已运行 1 天又 2 小时 3 分钟。 - 用户数量:显示当前登录到系统的用户数量,如
2 users
。 - 系统负载平均值:显示过去 1 分钟、5 分钟和 15 分钟的平均系统负载(load average)。系统负载是指在特定时间间隔内等待 CPU 时间的平均进程数。负载值提供了系统当前和近期的活动水平概览。
使用场景
uptime
命令非常适用于:
- 快速检查系统运行状态:了解系统是否稳定运行以及运行了多久。
- 监控系统负载:观察系统负载是否超过正常范围,特别是在性能调优和故障排除时。
- 脚本和自动化:在脚本中用于检查系统运行时间,可以用于自动化报告和监控。
-
7.2 top
或htop
(如果安装了 htop):实时显示系统进程和资源使用情况。
top
命令是 Linux 和其他类 Unix 系统中用于实时显示系统进程和资源使用情况的一个非常有用的工具。它提供了一个动态更新的视图,显示系统中的进程列表,并按资源使用情况进行排序(通常是 CPU 使用率)。
命令说明
top
:这个命令用于实时显示系统的进程和当前资源使用情况。
PID
:进程标识号。USER
:运行进程的用户。PR
:进程优先级。NI
:进程的“nice”值,影响其优先级。VIRT
:虚拟内存大小。RES
:常驻内存大小。SHR
:共享内存大小。S
:进程状态(例如,S 表示睡眠,R 表示运行)。%CPU
:进程占用的 CPU 百分比。%MEM
:进程占用的物理内存百分比。TIME+
:进程占用 CPU 的总时间。COMMAND
:启动进程的命令。
控制和交互
在 top
运行时,你可以使用不同的按键进行交互和调整显示:
- 按
h
或?
:显示帮助。 - 按
P
:按 CPU 使用率排序。 - 按
M
:按内存使用率排序。 - 按
T
:按累积时间排序。 - 按
k
:杀死(kill)进程。 - 按
f
:选择要显示的字段。 - 按
q
:退出top
。
注意
部分命令可能需要 root 权限才能查看所有信息,例如 fdisk -l
。这些命令会为你提供关于 Linux 系统硬件和软件配置的详细概览。