问题标签 [huge-pages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
355 浏览

c - 发布大页面的正确方法?

假设我在/mnt/hugepages; 然后是两个应用程序open(),然后mmap()是同一个大页面。

一个崩溃,另一个close()然后munmap(),我注意到hugepage仍然在里面分配/mnt/hugepagesnumastat -vm也表明一个hugepage被占用了。然后,我手动删除了那个文件(/hugepage),numastat -vm仍然显示一个hugepage被占用。然后,我杀死了剩余的应用程序。最后,numastat -vm显示大页面不再被占用。

现在我的问题是在这种情况下释放大页面的正确方法是什么,而不会杀死以前对页面进行映射的所有应用程序?

我确实读过这篇文章

但是我的帖子有所不同,我不想杀死所有应用程序,而是尽快释放巨页,我不想卸载。

谢谢!

0 投票
1 回答
317 浏览

c - 大页面的 ftruncate() 失败

我的应用程序尝试使用 2MB 巨页来ftruncate()编辑mmap()32-33KB,但它退出了。

然后我意识到ftruncate()失败了:

它退出了:

我检查/mnt/huge2m了我在哪里安装了我的hugepage fs。我确实看到该文件是在那里创建的,但大小为零。

然后我检查了我是否还有免费的 2MB 大页面:

我还有很多(92MB)。

然后,我按照这篇文章的建议检查了限制:

我的应用程序只打开 < 10 个文件。

我还认为我的用户打开了太多文件,达到了(硬)限制。但是,如果是这种情况,当我尝试访问open()文件(大页面)时,我应该得到 -1 而不是 5(这是一个有效的 fd 描述符,并且不会在 中创建文件/mnt/huge2m)。

strace没有显示太多:

任何想法?

0 投票
1 回答
135 浏览

kubernetes - 为一个 pod 请求所有可用的大页面

如何请求 kubernetes 将节点上所有可用的大页面分配给我的应用程序 pod?

我的应用程序使用大页面。在部署到 kubernetes 之前,我已经为大页面配置了 kubernetes 节点,我知道通过指定 k8s 文档中提到的限制和请求,我的应用程序 pod 可以使用大页面。但这以某种方式将节点规格与我的应用程序配置紧密结合在一起。如果我的应用程序要在具有不同数量的大页面的不同节点上运行,我将不得不根据目标环境继续覆盖这些值。

但是根据 k8s 文档,“大页面请求必须等于限制。如果指定了限制,这是默认设置,但请求没有。”

有没有办法我可以以某种方式请求 k8s 将所有可用的大页面分配给我的应用程序 pod,或者只是让它保持动态,就像在未指定的内存或 cpu 请求/限制的情况下一样?

0 投票
1 回答
1431 浏览

dpdk - 如何释放DPDK应用程序分配的hugepages?

我正在使用 DPDK-PROX 应用程序。每当我关闭该应用程序时,该应用程序分配的大页面都不会被释放。每次我都要重新启动系统。有什么解决办法吗?

我查看了以下问题,但我的问题没有解决。
如何从崩溃的应用程序中释放大页面
如何在 Linux 中真正释放大页面以供新进程使用?
发布大页面的正确方法?
这就是我在 /proc/meminfo 中看到的

0 投票
2 回答
118 浏览

sql-server - 我的数据库日志文件大小有问题

我有一个 MDF 大小为 10GB,LDF 大小为 47GB 的数据库。

我将恢复模式更改为简单和完整,但它没有改变。

我有一份完整备份(每天一次)和日志备份(每 15 分钟一次)的工作。

如何减小日志文件 LDF 文件的大小?

0 投票
2 回答
139 浏览

c - 免费的`mmap()-ed`私有大页面

我有以下代码:

我想知道在我的应用程序异常退出(例如崩溃)后如何释放大页面。

重新启动机器将释放所有大页面。但这对生产服务器有点破坏性。因此,我正在寻找一种不破坏现有流程的方法。

提前致谢!

0 投票
1 回答
282 浏览

java - LargePageHeapSizeThreshold 是否激活 JVM 中的 UseTransparentHugePage?

最近我注意到,在 Linux 发行版中,我们有大页面内存,可以设置为始终允许系统一直使用大页面,疯狂地让应用程序确定它们是否要使用大页面,或者从不

此功能有时会降低应用程序性能。

在 JVM 中,我们有两个参数可以被激活来控制这个 OS 功能。

LargePageHeapSizeThreshold:如果此值小于MaxHeapSize JVM 使用大页面大小。

UseTransparentHugePages:它是一个布尔值,可以为真或假。

我的问题是将 LargePageHeapSizeThreshold 设置为小于 MaxHeapSize 的值激活大页面,即使UseTransparentHugePages=false

即使UseTransparentHugePages=false在 linux 中将大页面大小设置为始终会激活 JVM 以使用大页面?

0 投票
2 回答
1325 浏览

linux - 致命错误:hugetlbfs.h:没有这样的文件或目录

我正在尝试使用gethugepagesize()函数查找大页面大小的值。我发现hugetlbfs.h必须包含该库。当我包含标题时,我得到了编译错误:

当我跳过包含库文件并调用该函数时,我得到链接器错误为

我浏览了帖子How to get the value of huge page size? . 我无法获得帖子工作的解决方案。

我错过了什么吗?

0 投票
1 回答
363 浏览

c - MAP_HUGETLB 未定义

我想在 Linux 上测试巨大的内存页面分配。只是为了袖手旁观另一种方法。但是我的测试根本无法编译。

产生:

理想情况下,我希望映射一个文件。但匿名记忆也可以。

输出hugeadm --pool-list

问题是,我如何分配由大页面支持的内存?

0 投票
1 回答
315 浏览

java - Java 堆外内存和大页面

在 Java 中分配堆外内存时(例如通过直接缓冲区或 JNI 本机代码),如果 JVM 使用 -XX:+UseLargePages ,分配的内存是否会由大页面支持?