huge-pages相关内容

无法创建启用了 -XX:+UseLargePages 的 JVM

我有一个当前使用 14GB 堆运行的 Java 服务.我很想尝试 -XX:+使用LargePages 选项来查看这可能如何影响系统的性能.我已经按照 Oracle 的描述配置了操作系统使用适当的共享内存和页面值(也可以使用在线工具计算).p> 配置操作系统后,我可以看到它将预期的内存量分配为大页面.但是,使用 -XX:+UseLargePages 选项集启动 VM 总是会导致以下错误之一: ..
发布时间:2022-01-24 23:21:43 其他开发

如何在 linux 内核模块中分配由 1GB HugePages 支持的 DMA 缓冲区?

我正在尝试为 HPC 工作负载分配 DMA 缓冲区.它需要 64GB 的缓冲空间.在计算之间,一些数据被卸载到 PCIe 卡.与其将数据复制到由 pci_alloc_consistent 提供的一堆 4MB 小缓冲区中,我只想创建 64 个 1GB 缓冲区,并由 1GB HugePages 提供支持. 一些背景信息:内核版本:CentOS 6.4/2.6.32-358.el6.x86_64内 ..
发布时间:2022-01-04 22:29:15 服务器开发

Raspberry Pi 4上的HugePages

我需要有关在运行raspberry pi OS 64位的raspberry pi 4上管理Hugepages的帮助. 我在网上找不到很多可靠的信息. 首先,我重新编译了启用 Memory Management options ---> Transparent Hugepage Support 选项的内核源代码.当我运行命令时: grep -i巨大的/proc/meminfo 输出为 ..
发布时间:2021-05-29 22:17:13 服务器开发

Java定期挂在futex上并且IO输出非常低

当前,我的应用程序定期在IO中被阻止,并且输出非常低.我使用一些命令来跟踪该过程. 通过使用 jstack ,我发现该应用程序挂在FileOutputStream.writeBytes上. 通过使用 strace -f -c -p pid 收集系统调用信息,我发现了.在正常情况下,它同时具有futex和write syscall.但是,当它变得不正常时,只有futex系统调用.该应用程 ..
发布时间:2020-07-23 01:23:38 Java开发

使用move_pages()移动大页面?

该问题的答案是: 内核3.10.0-1062.4.3.el7.x86_64 通过启动参数分配的非透明大页面,并且可能会映射到文件(例如,已挂载的大页面) x86_64 根据该内核源 ,move_pages()会调用do_pages_move()来移动页面,但我看不到它如何间接调用所以我的问题是: move_pages()可以移动大页面吗?如果是,传递页面地址数组时页面边界应该 ..
发布时间:2020-07-01 23:04:43 服务器开发

顺序访问内核驱动程序中的大页面

我正在使用使用由大页面支持的缓冲区的驱动程序,但是我发现大页面的顺序性会出现一些问题. 在用户空间中,程序使用mmap syscall分配由大页面支持的大缓冲区.然后通过ioctl调用将该缓冲区传递给驱动程序.驱动程序使用get_user_pages函数获取该缓冲区的内存地址. 这非常适合1 GB(1个大页面)的缓冲区大小. get_user_pages返回很多页面(HUGE_PAGE ..
发布时间:2020-05-02 03:31:19 其他开发

如何从崩溃的应用程序中释放大页面

我有一个使用大页面的应用程序,由于某些错误,该应用程序突然崩溃了. 崩溃后,由于应用程序无法正确释放大页面,因此sys文件系统中的免费大页面数量不会增加. $ sudo cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages 0 $ sudo cat /sys/kernel/mm/hugepages/hugepages-20 ..
发布时间:2020-05-01 09:40:04 服务器开发

无法使用-XX:+ UseLargePages启用JVM

我有一个Java服务,目前运行一个14GB的堆。我热衷于尝试 -XX:+ UseLargePages 选项来查看这可能会如何影响系统的性能。我按照 Oracle 配置了操作系统使用适当的共享内存和页面值(这些也可以通过在线工具计算)。 p> 一旦配置了操作系统,我可以看到它将预期的内存量分配为巨大页面。但是,使用 -XX:+ UseLargePages 选项集启动VM始终会导致以下错误之一: ..
发布时间:2017-04-16 21:06:07 Linux/Unix

我该如何分配由1GB大页面Linux内核模块支持的DMA缓冲区?

我试图分配一个DMA缓冲区的HPC工作量。它需要的缓冲空间64GB。在计算之间的一些数据被卸载到一个PCIe卡。而不是将数据复制到一组由pci_alloc_consistent给出极小4MB缓存的,我想只是创建64 1GB缓存,1GB通过支持大页面。该系统具有的RAM 140GB所以这应该是身体可能。 一些背景信息: 内核版本:CentOS的6.4 / 2.6.32-358.el6.x86_6 ..
发布时间:2016-08-21 21:12:25 服务器开发