免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1332 | 回复: 0
打印 上一主题 下一主题

[系统管理] windows gun sed :No space left on device [复制链接]

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-07-25 10:18 |只看该作者 |倒序浏览
本帖最后由 1cpuer 于 2016-07-25 10:33 编辑

E:\sed\1huiche>sed ":a;/]/!N;s/\n//;ta" 1huiche1
sed: couldn't write 102 items to stdout: No space left on device

是windows版的;和linux版解法不同
E:\sed\1huiche>sed ":a;/]/!N;s/\n//;ta" > 1huiche2
重定项到文件1huiche2显示正常
可能1huiche1 :No space left on device

windows ms-dos : cmd commands

E:\sed\1huiche>dir e:\sed\1huiche\1huiche1
驱动器 E 中的卷是 新加卷
卷的序列号是 266E-A991

e:\sed\1huiche 的目录

2016/07/25  10:02               495 1huiche1
               1 个文件            495 字节
               0 个目录 32,303,169,536 可用字节

E:\sed\1huiche>

是先建文件容量MB限制吗?


linux版解法
#df

/dev/sdc1             20799540  19751436         0 100% /home/sluo
无论怎么删除文件,剩余空间都为0,并没有增加。

网上很多人遇到的是硬盘还有空间,但是也报错:No space left on device. 显然他们的问题是因为inode耗尽了。
Linux上创建文件需要对应的inode如果inode 耗尽也无法写入文件,inode可以通过df -i查看。通常由于<2K的小文件过多,而每个小文件又占用一个inode,这样就会出现硬盘空间还有,却无法继续写入。

我遇到的问题恰好相反。正常情况下,这是正确的,硬盘没空间了,但inode还有剩余。不过我的问题是,删除文件,磁盘空间没有增加。
以前,我也遇到过这个问题,不知道怎么就解决的。今天没这么好运气,所以只能试着去找到真正的原因。
其实,答案很简单:在Linux中,如果一个进程打开文件读写,只要这个进程不退出,即便删掉了这个文件,文件也不会真正被删除。

我就是通过lsof -s 看到我之前那个程序写的文件还在(虽然有注解(deleted)),所以通过,ps -aux|grep mage找到了那个进程将其kill了。这时,硬盘的空间才一点一点增加,说明进程退出,正释放硬盘空间。

多亏了这个贴,关键是第一个greeblesnort的回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP