Linux 系统如果把磁盘写满了继续写会怎么样?
- 0次
- 2021-06-17 17:43:09
- idczone
昨天发生了一件事: celery 写的 worker 日志把磁盘写满了,然后 CPU 突然拉到 100,今早发现所有任务都积压了....我想知道写满了磁盘后继续写文件系统会发生啥?
写不进去
那把要写的东西扔到哪里了?/dev/null?
抛 io 异常了吧
我记得好像是抛异常
没来得及看日志直接清掉了 着急恢复功能 有可能抛异常吧
我遇到过,SSH 都无法远程登陆,只能接显示器删点东西后才能登陆
这个倒是能登...可能是因为只是 /opt 满了...
会导致很多程序异常,甚至是系统服务,所以一般把应用数据放在其他挂载点。
思考一个问题,如果是你操作系统,向用户提供一个写数据的接口,你会如何设计?
为什么 100%呢?既然都没事可干了
可以自己模拟一下,就知道会发生什么了:cat /dev/zero > zero.fill;sync;
崩溃
写不进去,会导致你的应用无法正常允许。
抛异常 服务全挂
只要涉及(依赖)读写文件(包括打开文件)的行为都不能用。
其它不涉及(依赖)的都可以用。
就这么回事。
为啥 CPU 被拉满了 是一直在尝试写么?
你们还是太年轻呀,从业那么多年竟然没有被日志撑暴过硬盘…