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

昨天 2036阅读

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内存分配与回收机制图解

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

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]