我想使用 MySQL 5.7页面压缩功能,但该功能需要Linux的打孔功能,根据文档,该功能是在2.6.39中引入的。但我的服务器的内核版本是2.6.32,并且我验证了页面压缩功能确实可以工作,这很奇怪!
所以我想确定我的服务器是否支持这个打孔功能。
答案1
你可以自己打个洞来测试一下。
$ dd if=/dev/zero of=punch bs=100M count=1
创建一个 100MiB 文件,没有漏洞,可以使用以下命令检查du
:
$ du -h punch
100M punch
现在在其中打一个 10MiB 的洞:
$ fallocate -p -o 2M -l 10M punch
文件的大小不会改变(如 所示ls -lh
),但如果您的内核和文件系统支持必要的系统调用,则它将占用更少的磁盘空间:
$ du -h punch
90M punch
man fallocate
会告诉你更多;基于 2.6.32 的系统很可能拥有一个相关支持已向后移植的内核。