Linux 下查看内存(磁盘)占用情况

本文详细介绍了Linux系统中用于查看磁盘空间的两个关键命令:df和du。df命令用于查看磁盘整体使用情况,包括分区大小、已使用空间、可用空间等信息,而du命令则用于查看具体目录或文件所占用的空间。通过df-h和du-h等选项,可以更直观地了解磁盘空间的使用状态。这两个命令对于系统管理员进行磁盘空间管理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的两个命令就是df -hdu

1、df

df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

显示内容参数说明:

  • Filesystem:文件系统
  • Size: 分区大小
  • Used: 已使用容量
  • Avail: 还可以使用的容量
  • Use%: 已用百分比
  • Mounted on: 挂载点

相关命令:

df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

2、du

du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。

例如查看当前目录的大小:

du -sh
605M 

显示指定文件所占空间:

du log2012.log 
300     log2012.log

方便阅读的格式显示test目录所占空间情况:

du -h test
608K    test/test6
308K    test/test4
4.0K    test/scf/lib
4.0K    test/scf/service/deploy/product
4.0K    test/scf/service/deploy/info
12K     test/scf/service/deploy
16K     test/scf/service
4.0K    test/scf/doc
4.0K    test/scf/bin
32K     test/scf
8.0K    test/test3
1.3M    test

du 命令用于查看当前目录的总大小:

  • -s:对每个Names参数只给出占用的数据块总数。
  • -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
  • -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
  • -k:以1024字节为单位列出磁盘空间使用情况。
  • -c:最后再加上一个总计(系统默认设置)。
  • -l:计算所有的文件大小,对硬链接文件,则计算多次。
  • -x:跳过在不同文件系统上的目录不予统计。
  • -h:以K,M,G为单位,提高信息的可读性。
<think>我们正在处理用户关于在Linux系统中查看服务器内存使用情况的命令的查询。根据提供的引用,我们可以总结出以下几个关键命令和工具:1.**free命令**:用于显示系统内存的使用情况,包括物理内存(RAM)和交换内存(swap)。这是最常用的命令之一。2.**top命令**:实时显示系统中各个进程的资源占用情况,包括内存和CPU。3.**ps命令**:结合选项(如`-eo`)可以查看各个进程的内存使用情况,例如`ps-eopmem,pcpu,rss,vsize,args`。4.**dmesg命令**:结合grep可以查看内核缓冲区中与内存相关的信息,例如`dmesg|grep-imemory`。此外,引用中还提到了`vmstat`命令(在引用[4]的上下文中提到,但具体命令未在引用中给出,不过我们知道`vmstat`也是常用的内存监控命令)以及`htop`(一个更友好的交互式进程查看器,但引用中没有直接提到,但通常作为top的增强版使用)。因此,我们可以向用户介绍这些命令的用法和输出解释。###回答步骤:1.**介绍free命令**:解释其输出,包括总内存、已用内存、空闲内存、缓存/缓冲内存以及交换空间。2.**介绍top命令**:说明如何查看实时进程内存占用,以及如何排序(按内存排序)。3.**介绍ps命令**:如何定制输出以查看进程的内存占用百分比和物理内存占用。4.**介绍其他命令**:如vmstat和dmesg。同时,我们需要注意引用中的内容,并在回答末尾添加引用标识。###生成相关问题:根据用户的问题,我们可以生成一些相关问题,例如:1.如何查看Linux系统中各个进程的内存使用情况?2.free命令输出中的buffers和cache有什么区别?3.如何实时监控Linux服务器内存使用情况?现在,我们开始组织回答。</think>### 如何在Linux系统中查看服务器内存使用情况Linux系统中,可通过以下命令查看内存使用情况(包括物理内存RAM和交换内存swap): #### 1. **`free`命令** - 查看整体内存概况 ```bash free -h ``` - **输出示例**: ``` total used free shared buff/cache available Mem: 15G 5G 800M 200M 9G 9G Swap: 2G 1G 1G ``` - **关键字段**: - `total`:总内存 - `used`:已用内存(含缓存) - `available`:实际可用内存(不含缓存) - `buff/cache`:缓存/缓冲区内存(可被回收)[^1][^4] - 选项 `-h` 自动转换单位(KB/MB/GB) #### 2. **`top`命令** - 实时监控进程内存 ```bash top ``` - **内存相关字段**: - `%MEM`:进程占用**物理内存百分比** - `RES`:进程实际使用的**物理内存大小**(同RSS) - `VIRT`:进程使用的**虚拟内存总量**[^2][^4] - **操作**: - 按 `M` 键按内存使用排序 - 按 `q` 键退出 #### 3. **`ps`命令** - 精确查看进程内存 ```bash ps -eo pid,user,%mem,rss,comm --sort=-%mem | head -n 10 ``` - **输出解释**: - `%mem`:内存百分比 - `rss`:实际物理内存(单位KB) - `comm`:进程名称[^3] - **用途**:快速定位内存占用最高的前10个进程 #### 4. **`vmstat`命令** - 分析内存趋势 ```bash vmstat -s -SM # 以MB为单位显示统计 ``` - **关键指标**: - `active`:活跃内存 - `inactive`:非活跃内存 - `swap in/out`:交换分区使用频率 #### 5. **高级工具** - **`htop`**(需安装):交互式进程查看器,可视化内存占用 - **`dmesg`**:诊断内存错误 ```bash dmesg | grep -i "memory\|oom" # 检查内存异常日志[^2] ``` --- ### 关键概念说明 - **物理内存(RAM)**:直接供系统使用的硬件内存。 - **交换内存(swap)**:磁盘空间模拟的内存,当RAM不足时启用。 - **缓存(cache)**:系统自动保留的磁盘读取缓存,**可被回收**(`free`命令中`available`值才是真实可用内存)[^4]。 > ⚠️ **注意**:Linux会最大化利用内存作缓存,因此`free`值较小是正常设计,关注`available`字段即可[^1][^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪猪头拯救地球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值