如何确认我的服务器是否支持打孔?

如何确认我的服务器是否支持打孔?

我想使用 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 的系统很可能拥有一个相关支持已向后移植的内核。

相关内容