我有一个程序,它使用mmap()
共享内存来有效地访问大型数据库文件。我想尝试使用大页面,看看它是否可以加快速度。
我认为一种快速简便的方法是将数据库文件复制到 Linux 的hugetlbfs目录中,并在旧位置创建一个符号链接。
但是,这不起作用,因为该cp
命令无法写入文件。我怀疑文件只能通过调用ftrunc()
和mmap()
系统调用来写入文件来创建。我可能会尝试编写一个复制工具来执行此操作,除非我得到描述现有工具的答案。
我正在寻找在 Linux 中使用大页面进行共享内存映射的任何其他好方法。