Linux 服务器在使用过程中可能会遇到各种问题,其中之一就是“没有可用空间”。

遇到这种情况,就需要进行排查,定位到消耗了磁盘的那个文件夹。

流程如下:

1. df -h

df -h 会显示出所有挂载点的磁盘空间使用情况。-h 表示以 1k、1M、1G 为单位。

Filesystem(文件系统)      Size  Used Avail Use% Mounted on(分区)
/dev/mapper/centos-root 98G 6.1G 92G 7% /
devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs 4.9G 33M 4.8G 1% /run
tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 189M 826M 19% /boot
tmpfs 984M 0 984M 0% /run/user/0
overlay 98G 6.1G 92G 7% /var/lib/docker/overlay2/8671cfef128ee6418ab1796ebba47b23283fdf1d338431b4a4ebdc2786485000/merged
shm 64M 0 64M 0% /var/lib/docker/containers/d945d7043afb824a94ab8e11c3f61354945e40602b0212eb6cd1a794a5c2c475/mounts/shm
overlay 98G 6.1G 92G 7% /var/lib/docker/overlay2/c24f633841568bb4672931f2da809b47335be7f085bf23237af2cd15bddc27a1/merged
shm 64M 0 64M 0% /var/lib/docker/containers/e685309b470dde35837620928ba67d404722c4bba475f84ed0cb6ca823504907/mounts/shm
overlay 98G 6.1G 92G 7% /var/lib/docker/overlay2/62cc31effdbb439942c43f1341b6b07fd933200b6c27a52c6a88ac4b63ae93e6/merged
shm 64M 0 64M 0% /var/lib/docker/containers/7f7593fc8d14ddbe7dd1a946ccf08adf2bef415a7560db1c12d0ab0abb9e582a/mounts/shm

可以看到主分区 / 已经使用了 7%,现在假设因为某个软件的缓存,导致这个分区 / 的可用空间不多了。现在要排查到缓存所在位置。

du -h --max-depth=1

df 是查看各挂载点的空间使用情况,而 du 是用于查看各目录/文件的大小。

我们需要找到 / 分区中真正消耗掉内存的那个文件/文件夹。

  1. 首先 cd /
  2. 使用 du 命令查看该目录下的空间使用情况:du -h --max-depth=1
[root@192-168-1-64 ~]# du -h --max-depth=1
157M ./boot
0 ./dev
du: cannot access './proc/12646/task/12646/fd/4': No such file or directory
du: cannot access './proc/12646/task/12646/fdinfo/4': No such file or directory
du: cannot access './proc/12646/fd/4': No such file or directory
du: cannot access './proc/12646/fdinfo/4': No such file or directory
0 ./proc
33M ./run
0 ./sys
34M ./etc
26M ./root
4.5G ./var
0 ./tmp
1.6G ./usr
0 ./home
0 ./media
0 ./mnt
2.6G ./opt
0 ./srv
8.8G .

在输出结果中找到占用磁盘过多的文件夹,cd 进去,再继续执行 du -h --max-depth=1 命令查看。

如此查看几次,一般就能定位到问题文件夹。

通过这样的排查,发现公司这次遇到的问题,是 elasticsearch 的数据文件夹把磁盘消耗光了。

定位到问题后,再依据该数据的重要程度,来决定是直接清空,还是如何处理它。

参考

linux 磁盘占用的排查流程的更多相关文章

  1. Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查

    org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查 解决"/dev/mapper/cento ...

  2. Linux磁盘占用100%解决方法

    /opt分区被web日志堆满了,导致一些服务无法正常运行,于是rm -fr掉这些日志(近11GB),但是服务仍没有恢复正常,用df -hT看,该分区占用还是100%: [root@anjing opt ...

  3. Linux 内存占用大排查

    用命令 top 查看发现内存使用很高,可用内存很少,导致有些服务无法正常启动. 这时,可以用下面的命令查看占用内存前10的进程,改变 10 的数字,可以调整前几的个数. ps -aux | sort ...

  4. linux磁盘占用跟每个文件夹大小总和不符

    1.一种情况是删除了大文件但是没有释放出来,因为有进程还在调用使用 最简单的方法是reboot下服务器再对比下: 2.查看服务器空间使用情况 df -h cd / du -sh *

  5. linux cpu占用100%排查

    某服务器上部署了若干tomcat实例,即若干垂直切分的Java站点服务,以及若干Java微服务,突然收到运维的CPU异常告警. 问:如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代 ...

  6. Linux 内存 占用较高问题排查

    Linux 内存 占用较高问题排查 niuhao307523005 2019-04-24 14:31:55 11087 收藏 11展开一 查看内存情况#按 k 查看 free #按兆M查看 free ...

  7. linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘

    Linux下的根分区使用率100%,但是查看/分区下的目录都不大,没有占用满,这该怎么处理? 重启是肯定有效的,目前处理情况:重新restart应用后,空间释放出来 1.lsof | grep del ...

  8. linux磁盘已满,文件占用情况

    du -sh /data0/* 如上,/data0/* 表示查看data0文件夹下各个目录的磁盘占用情况 df -h 查看总的磁盘占比

  9. 记一次linux磁盘清理 - 已经删除的文件占用了大量磁盘空间

    今天开发环境磁盘占满了,导致开发环境上的 nginx .redis 等组件总是报异常. 跳到系统根目录下 cd / 检查磁盘占用情况 df -h 哇,40G硬盘全用完了.看看是哪些文件占了那么多内存. ...

随机推荐

  1. MySQL枚举类型enum字段在插入不在指定范围的值时, 是否是"插入了enum的第一个值"?

    刚刚在看<<深入浅出MySQL>>一书的"ENUM类型"一节, 以下面的代码举例, 得出结论: "还可以看出对于不在ENUM指定范围内的值时, 并 ...

  2. Centos7修改为固定IP后 yum 出现could not retrieve mirrorlist

    Centos7修改为固定IP后 yum 出现could not retrieve mirrorlist,发现yum源的域名无法解析 按照6,修改/etc/resovle.conf,新增域名解析服务器1 ...

  3. MacOS 安装配置 Laravel

    简单介绍: Laravel是一个用PHP编写的免费开源Web框架.它是由Taylor Otwell创作的,遵循MVC开发方法. 截至2015年3月,Laravel被认为是最流行的基于PHP的框架之一. ...

  4. windows nginx重启脚本.bat

    在nginx.exe目录下新建txt文件写入 @echo offtaskkill /f /fi "IMAGENAME eq nginx.exe"start nginx.exe#pa ...

  5. 【Mybatis】MyBatis之Generator自动生成代码(九)

    MyBatis Generator 简介 MyBatis Generator 连接数据库表并生成MyBatis或iBatis文件.这有助于最大限度地减少使用MyBatis时为数据库文件创建简单CRUD ...

  6. 【PHP】 php遍历文件夹文件,获取md5的值

    方法: <?php //定义操作目录 $dir = 'D:\phpstudy\WWW\test'; function getDir2($dir) { foreach (glob($dir . ' ...

  7. 增强篇4 CO01生产订单屏幕增强

    Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD  使用客户增强:PPCO0012    生产订 ...

  8. 基于Broadcast 状态的Flink Etl Demo

    接上文: [翻译]The Broadcast State Pattern(广播状态) 最近尝试了一下Flink 的 Broadcase 功能,在Etl,流表关联场景非常适用:一个流数据量大,一个流数据 ...

  9. LODOP打印超文本保留背景色带平铺水印

    前面的博文:LODOP中设置设置图片平铺水印,超文本透明. 介绍过 ,如果不想去掉超文本的背景色,想在超文本背景色和超文本内容文字之间加上水印,让水印在背景色上面,文字下面,是不行的,因为平铺的图片和 ...

  10. react 生命周期图解

    参考地址:https://www.cnblogs.com/gdsblog/p/7348375.html