• 由一次磁盘告警引发的血案 | 你知道 du 和 ls 区别吗?

    知道为什么会有上面的结果吗?什么又是稀疏文件?这篇文章将为你揭秘。问题背景确切地说,不是收到的自动告警短信或者邮件告诉我某机器上的磁盘满了,而是某同学人肉发现该机器写不了新文件才发现该问题的. 说明我司告警服务还不太稳定 :)第一次出现该问题时,我的处理方式是:先删了 /tmp/ 目录, 空闲出部分空间,然后检查下几个常用的用户目录,最终发现某服务A的日志文件(contentutil.log)占用了好几个大G,询问相关开发人员后确定该日志文件不需要压缩备份,所以可直接删除, 于是 rm contentuti...
  • 由一次磁盘告警引发的血案 | 你知道 du 和 ls 区别吗?

    最终发现是上次rm 后,占用好几个大G的 contentutil.log 一直被服务A的进程打开了,空间并没有释放。可以明确的是,这里的 ls 和 du 结果肯定代表不同的含义,具体原因不详,在查阅相关资料和咨询强大的票圈后了解到,这大概与文件空洞和稀疏文件相关。ls 的结果是 apparent sizes,我的理解是文件长度,就类似文件系统中 file 这个数据结构中的定义文件长度的这个字段,du 的结果 disk usage,即真正占用存储空间的大小,且默认度量单位是 block。默认情况下,Mac中1个逻辑block中是 512 字节,因此 du -h 结果是 8 * 512 = 4096 = 4.0K。
  • Git 2.25.0发布,不用再clone整个仓库了!

    点击上方“小哈学Java”,选择“星标”回复“资源”,领取全网最火的Java核心知识总结作者 |oschina来源 |开源中国Git 2.25.0 发布了,项目贡献者 Taylor Blau 介绍了此版本带来的一些特性上的亮点,包括部分克隆与稀疏检出。这其中必要的逻辑是需要 Git 在收到服务器的响应后能够跳过检出存储库,因为一旦检出,那么它就会发现 clone 的对象不完整,并尝试向服务器请求。Git 2.25 中,通过引入新的 git sparse-checkout 命令,让这一操作更加简便。
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。