在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息?

1949idc 1年前 (2025-04-14) 阅读数 336 #智能运维

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 × Thread
  • Model name:包含CPU品牌、型号及基础频率(实际频率可能动态调整)
  • Cache:现代CPU采用三级缓存结构,L3缓存大小直接影响多核性能
  • NUMA:服务器多CPU架构的内存访问模式,影响性能优化策略

2 实时监控CPU负载

top -b -n 1 | grep "Cpu(s)"  # 非交互式单次采样

高级操作指南

  1. 1键:展开显示每个逻辑核心的独立负载
  2. Shift+P:按CPU使用率降序排列进程
  3. Shift+M:按内存使用量排序
  4. f键:自定义显示字段(可添加PPID、线程数等)
  5. 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

生产环境优化建议

  1. 长期监控策略

    # 每日定时记录性能数据
    echo "0 8 * * * /usr/lib/sa/sa1 600 6" | sudo tee -a /etc/crontab
  2. 自动报警配置

    # 当可用内存<10%时触发警报
    alert_mem=$(free | awk '/Mem/{printf("%.0f"), /*100}')
    [ $alert_mem -lt 10 ] && send_alert "内存不足警告!"
  3. 内核参数调优

    # 修改/etc/sysctl.conf
    vm.swappiness = 10           # 减少swap使用倾向
    vm.vfs_cache_pressure = 50   # 调整文件缓存回收策略

专家提示:对于数据库服务器,建议配置vm.dirty_ratio=10vm.dirty_background_ratio=5以优化写入性能。


在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息? 第1张
图1:现代Linux系统监控工具界面

在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息? 第2张
图2:多核CPU的缓存层次结构示意图

在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息? 第3张
图3:Linux内存分配与回收机制图解

(本文技术图示来源于公开技术文档,版权归原作者所有)

相关阅读:

1、VPS云挂卡使用指南,轻松上手,一键操作,助力高效管理!

2、揭秘,购车必备知识——深入了解VPS系统!

3、自建SSH服务器,利用VPS打造安全远程连接通道,保障数据传输安全

4、VPS轻松读取D盘数据秘籍,实用教程揭秘!

5、在 Linux 系统中,内存管理以页面(Page)为基本单位。以下是关于 Linux 内存页面的关键知识点,Linux内存管理,为什么页面(Page)是性能优化的关键?,为什么Linux内存管理的性能优化都围绕页面(Page)展开?

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业