请教一下linux的硬盘满了会导致哪些系统调用受影响

blade2001 2008-11-20 09:54:36
请教一下linux的硬盘满了会导致哪些系统调用受影响, 我知道文件类调用如write,close, fflush等, 可还有其他的
...全文
880 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
csan 2008-11-26
  • 打赏
  • 举报
回复
創建連接的只要空間不夠了,也會失敗報錯
帅得不敢出门 2008-11-25
  • 打赏
  • 举报
回复
进来学习
Gdatasheet 2008-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 linaxing 的回复:]
creat()肯定要失败了,但open()已经存在的文件是可以的,write()覆盖一个文件已经存在的数据也是可以的,close()和fflush(),如果之前的open()和write()都成功的话,应该也能成功。其他的与文件相关的函数还包括:dup(),fcntl(), link(),lseek(),mknod(),read(), stat(), unlink(), fifo()等,如果磁盘已经满了的话,凡是要增加inode或者增加文件长度的调用都会失败。
[/Quote]

正解
blade2001 2008-11-23
  • 打赏
  • 举报
回复
我也测试了fflush和close/write等函数在硬盘满的情况下会立刻返回错误, 而不是阻塞等待的,
blade2001 2008-11-23
  • 打赏
  • 举报
回复
多谢大家的回复,

我遇到的具体问题是: 前几天我们的一个服务器程序运行的机器上磁盘满了, 然后整个性能下降很多,命令和任务的处理时间比原来长了几倍, 因为磁盘满了程序没有记录下当时的日志, 现在不容易查找原因。
cloudflashes 2008-11-23
  • 打赏
  • 举报
回复
如果swap没有建单独的文件系统,当文件系统满的时候,只要系统一换页时,就崩溃了。
zjujoe 2008-11-23
  • 打赏
  • 举报
回复
像 ext3 这种文件系统,文件的内容和文件的元数据是分开存放的。通常保留一定比例的空间用于放inode等元数据。文件相关的系统调用有些是需要写元数据,有些需要写文件数据。
通常文件数据空间会在元数据空间之前用完。
另外,日志型文件系统比如JFFS2在磁盘空间将满时会出现严重的性能下降。ext3文件系统在磁盘满时依然能正常使用(我们的服务器经常根目录100%使用),鲁棒性很好。
楼主如果能说出自己目前想要解决的问题或许可以得到更多信息。
linaxing 2008-11-21
  • 打赏
  • 举报
回复
creat()肯定要失败了,但open()已经存在的文件是可以的,write()覆盖一个文件已经存在的数据也是可以的,close()和fflush(),如果之前的open()和write()都成功的话,应该也能成功。其他的与文件相关的函数还包括:dup(),fcntl(), link(),lseek(),mknod(),read(), stat(), unlink(), fifo()等,如果磁盘已经满了的话,凡是要增加inode或者增加文件长度的调用都会失败。
ckc 2008-11-21
  • 打赏
  • 举报
回复
应该就是需要写文件的全部不行了
日志类的应该也不行了
joyself 2008-11-21
  • 打赏
  • 举报
回复
估计这些操作都不行了。
会报错误的

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧