美文网首页Android技术知识Android开发Android开发
Linux磁盘空间占满问题快速排雷

Linux磁盘空间占满问题快速排雷

作者: cff70524f5cf | 来源:发表于2019-02-14 21:16 被阅读120次

    情人节一大早就接到报警,一台测试服务器磁盘满了,这很程序员。

    磁盘排雷三连

    反手一个 df 先看是否是真满了(参考 df(1) - Linux man page )

    需要注意,如果磁盘空间未满,但是仍然报 No space left on device ,需要执行 df -i 排查inode

    通过 df -h 只能看出磁盘满了,但是看不出每个文件夹的大小,所以需要使用 du -ahd1 ,如果文件不是很多,很大,一般速度还能接受,但是今天执行相当慢,所以 Ctrl+C 中止。

    此处简单说明一下 -ahd1 的意思(可以通过 man du 或者 du --help 自行查阅帮助文档,参考 du(1) - Linux man page)

    如果被删除的文件 df -h 快满了,而 du -ahd1 却很小,往往是文件被删除,而文件句柄没释放导致的,祭出 lsof | grep deleted ,解决办法,要么kill掉pid,释放句柄(治本),要么就 > /path/to/deleted/file 把内容覆盖掉(治标)。当然还有别的玩法,比如,不小心 rm -rf / 了,先别着急跑路,万一 lsof | grep deleted 还存在的,都还有救,约等于windows下的回收站的作用。 参考 lsof(8) - Linux man page

    ncdu

    针对 du -d1 大文件场景下的龟速表现,有人开发了ncdu,以ubuntu为例

    参考官方文档 Ncdu Manual

    额外

    通过man查询命令时,手册中会带有数字(例如 du(1) , lsof(8) ),这代表的是手册的不同部分,可以通过 man man 或者 Linux man pages 来查看

    参考资料

    NDK模块开发

    NDK基础开发流程

    需要这些资料的大伙关注+点赞+加群:185873940 免费获取!

    群内还有许多免费的关于高阶安卓学习资料,包括高级UI、性能优化、架构师课程、 NDK、混合式开发:ReactNative+Weex等多个Android技术知识的架构视频资料,还有职业生涯规划及面试指导。

    相关文章

      网友评论

        本文标题:Linux磁盘空间占满问题快速排雷

        本文链接:https://www.haomeiwen.com/subject/isneeqtx.html