在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息?
CPU信息全面解析
1 获取CPU基础信息
lscpu
典型输出分析:
Architecture: x86_64 # CPU架构类型 CPU(s): 8 # 逻辑处理器总数(核心×线程) Thread(s) per core: 2 # 每个物理核心的线程数(超线程技术) Core(s) per socket: 4 # 每个CPU插槽的物理核心数 Socket(s): 1 # 物理CPU数量(服务器常为2/4路) Model name: Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz L1d/L1i cache: 32K/32K # 数据/指令一级缓存 L2 cache: 256K # 二级缓存 L3 cache: 16M # 共享三级缓存 NUMA node(s): 1 # 非统一内存访问节点数
核心参数详解:
CPU(s):系统总逻辑处理器数 = Socket × Core × ThreadModel name:包含CPU品牌、型号及基础频率(实际频率可能动态调整)Cache:现代CPU采用三级缓存结构,L3缓存大小直接影响多核性能NUMA:服务器多CPU架构的内存访问模式,影响性能优化策略
2 实时监控CPU负载
top -b -n 1 | grep "Cpu(s)" # 非交互式单次采样
高级操作指南:
- 按
1键:展开显示每个逻辑核心的独立负载 Shift+P:按CPU使用率降序排列进程Shift+M:按内存使用量排序f键:自定义显示字段(可添加PPID、线程数等)W键:保存当前配置为默认视图
推荐替代工具:
sudo apt install htop # 支持鼠标操作的增强版top htop -d 5 # 每5秒刷新,彩色显示负载分布
3 深度查询CPU参数
# 获取完整CPU信息 cat /proc/cpuinfo # 提取关键信息 grep -E "model name|cpu MHz|cache size|physical id" /proc/cpuinfo | sort | uniq
输出示例:
model name : Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
cpu MHz : 1200.000 # 当前运行频率(动态调整)
cache size : 36608 KB # 三级缓存容量
physical id : 0 # 物理CPU编号
内存监控与优化
1 内存使用全景视图
free -h --si # 使用国际单位制(GB/MB)显示
输出解读:
total used free shared buff/cache available
Mem: 32G 12G 3.2G 1.1G 16G 18G
Swap: 8G 0B 8G
关键指标:
available:系统真实可用内存 = free + 可回收缓存buff/cache:包含磁盘缓存(可释放)和页面缓存Swap:当used持续增长时,需考虑物理内存扩容
2 内存详细参数解析
cat /proc/meminfo | grep -E "MemTotal|MemFree|Buffers|Cached|Active|Inactive|Swap"
重点参数:
MemAvailable:比free更准确反映可用内存Active(file)/Inactive(file):文件缓存活跃度SwapCached:被换出但暂存的内存页
3 图形化监控方案
# GNOME桌面环境 gnome-system-monitor --resouce-tab # KDE桌面环境 ksysguard # 跨平台工具 sudo apt install netdata # 实时Web监控面板
专业级监控工具集
| 工具名称 | 核心功能 | 安装方式 | 典型用法 |
|---|---|---|---|
vmstat |
系统整体资源监控 | 系统内置 | vmstat -SM 1 5 |
nmon |
交互式多功能监控 | apt install nmon |
nmon -f -s 5 -c 12 |
glances |
现代化综合监控 | pip3 install glances |
glances --disable-plugin cloud |
dstat |
资源统计可视化 | apt install dstat |
dstat -c -m -d --top-cpu |
高级用法示例:
# 记录CPU历史数据(每10秒采样,持续1小时) sar -u 10 360 -o /var/log/sa/cpu_log # 监控内存泄漏(显示RSS内存变化) valgrind --leak-check=full ./your_program
性能问题诊断手册
1 CPU瓶颈分析
# 查看CPU运行队列
sar -q 1 3
# 检测CPU频率波动
watch -n 1 "cat /proc/cpuinfo | grep 'MHz' | awk '{print $1,$4}'"
常见问题:
- 系统负载高但CPU使用率低 → 可能I/O瓶颈
- 单个核心100% → 检查是否单线程应用
2 内存泄漏排查
# 实时监控内存变化 watch -n 1 "free -h; echo; ps -eo pid,user,%mem,cmd --sort=-%mem | head -n 5" # 检测内存泄漏工具 sudo apt install memtracer
3 综合性能报告
# 生成系统健康报告 sudo apt install sysstat sadf -d /var/log/sa/sa$(date +%d) -- -A | less
生产环境优化建议
-
长期监控策略:
# 每日定时记录性能数据 echo "0 8 * * * /usr/lib/sa/sa1 600 6" | sudo tee -a /etc/crontab
-
自动报警配置:
# 当可用内存<10%时触发警报 alert_mem=$(free | awk '/Mem/{printf("%.0f"), /*100}') [ $alert_mem -lt 10 ] && send_alert "内存不足警告!" -
内核参数调优:
# 修改/etc/sysctl.conf vm.swappiness = 10 # 减少swap使用倾向 vm.vfs_cache_pressure = 50 # 调整文件缓存回收策略
专家提示:对于数据库服务器,建议配置
vm.dirty_ratio=10和vm.dirty_background_ratio=5以优化写入性能。

图1:现代Linux系统监控工具界面

图2:多核CPU的缓存层次结构示意图

图3:Linux内存分配与回收机制图解
(本文技术图示来源于公开技术文档,版权归原作者所有)
相关阅读:
1、VPS云挂卡使用指南,轻松上手,一键操作,助力高效管理!
2、揭秘,购车必备知识——深入了解VPS系统!
3、自建SSH服务器,利用VPS打造安全远程连接通道,保障数据传输安全
4、VPS轻松读取D盘数据秘籍,实用教程揭秘!
5、在 Linux 系统中,内存管理以页面(Page)为基本单位。以下是关于 Linux 内存页面的关键知识点,Linux内存管理,为什么页面(Page)是性能优化的关键?,为什么Linux内存管理的性能优化都围绕页面(Page)展开?
高防服务器,游戏服务器,高防IP,服务器租用托管






