centos 查看内存命令
时间: 2025-05-04 19:50:23 浏览: 51
### CentOS 查看内存使用情况的具体方法
#### 使用 `free` 命令
`free` 是一种简单直观的方式用于查看系统的内存使用状况。通过执行该命令,可以获得详细的物理内存和交换空间的信息。
以下是 `free` 的典型输出及其含义:
```bash
[root@controller ~]# free
total used free shared buff/cache available
Mem: 32553424 9133492 8897176 200792 14522756 22812232
Swap: 16383996 1967484 14416512
```
- **total**: 总计的物理内存大小。
- **used**: 已经使用的物理内存。
- **free**: 完全未分配给任何进程的物理内存。
- **shared**: 被多个进程共享的内存总量。
- **buff/cache**: 缓存和缓冲区所占用的内存。
- **available**: 可以立即被应用程序使用的内存[^4]。
可以通过 `-h` 参数让单位更易读(自动转换为 GB 或 MB):
```bash
free -h
```
---
#### 使用 `top` 命令
`top` 是一个动态更新的任务管理器工具,在其界面中可以直接看到当前系统中的内存使用状态。其中,“MiB Mem”部分展示了物理内存的整体分布情况[^1]。
主要字段说明如下:
- **KiB Mem**: 物理内存的状态汇总。
- **total**: 系统总的可用物理内存。
- **used**: 当前已被消耗的内存。
- **free**: 尚未分配出去的内存。
- **buffers / cached**: 文件缓存和其他临时数据占用了多少内存。
运行方式很简单:
```bash
top
```
按需退出时按下键盘上的 `q` 键即可返回终端环境。
---
#### 使用 `vmstat` 命令
`vmstat` 主要用来监控虚拟内存子系统的活动,并提供关于 CPU、I/O 和内存等方面的统计数据[^2]。当指定时间间隔参数后,能够周期性地收集并展示这些指标变化趋势。
基本语法形式如下所示:
```bash
vmstat [延迟秒数] [次数]
```
例如每秒钟刷新一次记录共三次的结果可写成这样:
```bash
vmstat 1 3
```
从打印出来的表格里可以看到有关内存的部分列项有以下几个重要维度[^3]:
- **swpd**: 使用了多少 swap (交换文件/分区)。
- **free**: 绝对空闲的 RAM 数量。
- **buff**: Buffer Cache 占用的空间比例。
- **cache**: Page Cache 所占据的位置份额。
以上三个命令各有侧重又互为补充,可以根据实际需求灵活选用其中之一或者组合起来分析整个服务器资源利用效率如何。
---
### 示例脚本:综合查询内存信息
如果希望一次性获取多种视角下的内存详情,可以编写一个小 Shell Script 来完成这一目标:
```bash
#!/bin/bash
echo "=== Using 'free' command ==="
free -h
echo ""
echo "=== Using 'top' snapshot ==="
top -bn1 | grep "MiB Mem"
echo ""
echo "=== Using 'vmstat' statistics ==="
vmstat 1 3
```
保存上述内容到文件比如叫做 check_memory.sh 并赋予执行权限之后就能方便调用了。
---
阅读全文
相关推荐



















