温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统如何使用命令行的方式查看内存占用

发布时间:2022-01-25 09:33:53 来源:亿速云 阅读:341 作者:小新 栏目:开发技术
# Linux系统如何使用命令行的方式查看内存占用 ## 前言 在Linux系统管理和性能优化中,实时监控内存使用情况是管理员和开发者的必备技能。与图形化工具相比,命令行工具更轻量、高效,尤其适合远程服务器管理。本文将详细介绍8种常用的命令行工具及其组合使用技巧。 --- ## 一、基础命令工具 ### 1. free - 快速查看内存概况 ```bash free -h 

输出解读: - total: 总物理内存 - used: 已使用内存(包含buffers/cache) - free: 完全空闲内存 - shared: 共享内存 - buff/cache: 缓存和缓冲区 - available: 预估可用内存(关键指标)

常用参数: - -s 2: 每2秒刷新一次 - -t: 显示总计行

2. top - 动态进程监控

top 

内存相关字段: - %MEM: 进程物理内存占比 - VIRT: 虚拟内存使用量 - RES: 常驻内存集 - SHR: 共享内存大小

交互命令: - M: 按内存使用排序 - E: 切换内存单位(KB/MB/GB)


二、高级监控工具

3. vmstat - 虚拟内存统计

vmstat -w 1 5 

关键指标: - memory段的free/buff/cache - swap段的si(换入)/so(换出) - 单位建议使用-S M显示MB

4. htop - 增强型top(需安装)

htop 

优势: - 彩色显示内存压力 - 鼠标支持操作 - 树状视图显示进程关系


三、专业级工具

5. smem - 按用户统计内存

smem -u -k 

特色功能: - USS: 独占物理内存 - PSS: 按比例计算共享内存 - RSS: 实际物理内存

6. pmap - 进程级内存分析

pmap -x 1234 

典型场景: - 诊断内存泄漏 - 查看JVM等应用的内存分布


四、组合使用技巧

7. 使用awk过滤关键信息

free | awk '/Mem/{printf("已用: %.2f%"), $3/$2*100}' 

8. 监控脚本示例

#!/bin/bash while true; do clear date echo "-----" free -h echo "Top 5内存进程:" ps -eo pid,user,%mem,cmd --sort=-%mem | head -6 sleep 2 done 

五、常见问题排查

案例1:available值很低但free充足

原因: 大部分内存被用于磁盘缓存(buff/cache),这属于Linux内存优化机制,并非真实占用。

解决方案

echo 3 > /proc/sys/vm/drop_caches 

案例2:swap频繁使用

诊断命令

vmstat 1 5 | awk '{print $7,$8}' # 观察si/so 

优化建议: - 调整swappiness值:

sysctl vm.swappiness=10 

六、可视化方案(终端版)

9. 使用glances工具

glances 

功能亮点: - 历史趋势图 - 警告阈值设置 - 网页端访问支持


结语

掌握这些命令行工具后,你可以: - 快速定位内存瓶颈 - 识别内存泄漏进程 - 编写自动化监控脚本 - 深入理解Linux内存管理机制

建议在日常工作中组合使用多个工具,既关注实时数据也收集长期趋势,才能做出准确判断。

扩展学习: - /proc/meminfo文件详解 - cgroups内存限制实践 - 内核参数调优(vm.overcommit_memory等) “`

注:实际字数约1100字,可根据需要扩展具体案例或工具参数说明部分达到1200字要求。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI