在Linux系统中查看内存和处理器的信息可以通过多种命令和工具实现,以下是一些常用的方法及扩展知识:
1. 查看内存信息
基础命令
`free`命令
显示系统内存使用情况,包括物理内存、交换分区等:
bash
free -h
`-h`选项以易读的格式(GiB/MiB)显示。输出中的`total`表示总内存,`used`是已用内存,`available`是可用内存(含缓存和缓冲区)。
`cat /proc/meminfo`
查看详细内存信息,包括缓存、交换分区、共享内存等:
bash
cat /proc/meminfo
关键字段:
- `MemTotal`:物理内存总量
- `MemAvailable`:实际可用内存
- `SwapTotal`:交换分区大小
`vmstat`命令
显示内存、交换分区、CPU等综合性能数据:
bash
vmstat -s
高级工具
`htop`/`top`
实时监控内存和进程资源占用:
bash
htop # 需要安装
按`F2`可自定义显示列,包括内存百分比、共享内存等。
`dmidecode`(需root)
获取硬件级内存信息,如插槽数量、频率等:
bash
sudo dmidecode -t memory
2. 查看处理器信息
基础命令
`lscpu`命令
显示CPU架构、核心数、线程数等详细信息:
bash
lscpu
关键信息:
- `CPU(s)`:逻辑核心总数
- `Core(s) per socket`:每个物理CPU的核心数
- `Thread(s) per core`:是否支持超线程(HT)
`cat /proc/cpuinfo`
查看每个CPU核心的详细信息:
bash
cat /proc/cpuinfo
字段说明:
- `model name`:CPU型号
- `cpu MHz`:当前频率
- `flags`:支持的指令集(如AVX、SSE)
`nproc`
快速获取逻辑CPU核心数:
bash
nproc
高级工具
`inxi`(需安装)
综合硬件信息工具,支持显示CPU和内存:
bash
inxi -C -M # -C显示CPU,-M显示内存
`hardinfo`(图形界面)
提供详细的硬件报告,包括CPU缓存、温度等:
bash
hardinfo
扩展知识
NUMA架构
多核服务器中,内存可能分属不同CPU节点(NUMA节点),可通过以下命令查看:
bash
numactl --hardware
缓存信息
CPU缓存(L1/L2/L3)大小可通过`lscpu`或以下命令查看:
bash
cat /sys/devices/system/cpu/cpu0/cache/index*/size
动态频率调节
使用`cpufreq-info`(需安装`cpufrequtils`)查看当前CPU频率策略:
bash
cpufreq-info
性能监控
`sar`命令(需安装`sysstat`)可记录历史资源使用情况:
bash
sar -r # 内存
sar -u # CPU
通过以上命令和工具,可以全面掌握Linux系统的内存和处理器状态,适合调试性能或优化资源配置时使用。