Linux 查看内存情况

1. free 命令(查看内存总量及使用情况)

free -h  # 以易读单位(GB/MB)显示内存信息

输出示例

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.1G        3.2G        256M        2.4G        5.0G
Swap:          2.0G        512M        1.5G
  • 关键字段:
    • total:总内存。
    • used:已用内存(包括缓存和缓冲区)。
    • free:完全空闲的内存。
    • available:实际可用内存(系统估算的可分配给新进程的内存)。
    • buff/cache:缓存和缓冲区占用的内存(可被快速释放)。

2. tophtop 命令(实时监控内存及进程)

top          # 经典实时监控工具(按 `Shift+M` 按内存排序进程)
htop         # 更友好的交互式工具(需安装:`sudo apt install htop`)

关键信息

  • %MEM:进程占用的物理内存百分比。
  • RES:进程实际使用的物理内存大小(单位 KB/MB)。

3. vmstat 命令(查看虚拟内存统计)

vmstat -s    # 显示详细内存统计(单位 KB/MB)
vmstat 1     # 每秒刷新一次内存、交换分区、IO 等状态

输出示例

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 2  0 524288 3245678 123456 2345678 0    0    12    34   45   67 10  5 85  0

4. /proc/meminfo 文件(查看详细内存信息)

cat /proc/meminfo  # 显示系统内存的底层统计信息

关键字段

  • MemTotal:总物理内存。
  • MemFree:完全空闲的内存。
  • Buffers:文件缓冲区占用的内存。
  • Cached:文件缓存占用的内存。
  • SwapTotalSwapFree:交换分区总量和剩余量。

5. ps 命令(查看进程内存占用)

ps aux --sort=-%mem | head  # 按内存占用排序显示前 10 的进程

输出示例

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql     1234  2.3 15.6 1234567 890123 ?      Ssl  Oct01  10:00 /usr/sbin/mysqld

6. glances 工具(综合监控工具)

glances    # 需安装:`sudo apt install glances`
  • 提供图形化界面,实时显示内存、CPU、磁盘、网络等状态。

7. 查看交换分区(Swap)使用情况

swapon --show  # 查看已启用的交换分区
free -h        # 显示 Swap 总量和已用量

总结

  • 快速查看内存总量free -h
  • 实时监控内存和进程tophtop
  • 详细内存统计cat /proc/meminfo
  • 排查内存泄漏:结合 psvmstat 分析进程行为。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容