问题标签 [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 回答
1929 浏览

linux - 在 Linux 系统上保留大页面

我的 VMWare 来宾系统详细信息:

我的应用程序在启动时需要尽可能多地抓取大页面,但 HugePages_Free 等于 HugePages_Rsvd 的事实意味着它无法保留任何内容。

这是什么原因,如果有的话,如何禁用其他应用程序对大页面的保留?

谢谢

0 投票
1 回答
364 浏览

java - Disabling Java huge-pages system-wide on a RH machine

I know I can disable Java's use of huge-pages for a process by adding

to the process invocation line.

However, I'd like to prevent every java application from using huge-pages, without me having to discover each process running on the machine.

Disabling THP in RH does not do it. Java still, by default, allocate memory from huge-pages even when THP is disabled.

0 投票
3 回答
6018 浏览

centos - VM 中的 Hugepagesize 不会增加到 1G

我在 ESXi Server 中使用 CentOS VM。我想将巨大的页面大小增加到 1G。

我点击了链接: http ://dpdk-guide.gitlab.io/dpdk-guide/setup/hugepages.html

我执行了这个小脚本来检查是否支持 1 GB 的大小:

  1. 我添加default_hugepagesz=1GB hugepagesz=1G hugepages=4到 /etc/default/grub.
  2. grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 重新启动虚拟机。

但是我仍然可以看到巨大的页面大小为 2048 KB (2MB)。

以下是VM的详细信息:

8GB 内存和 2 个 CPU 分配给 VM。

0 投票
3 回答
2093 浏览

php - php-fpm7.1 mmap/munmap (非常) 在虚拟化系统上的性能很慢 (hugepage)

我的 php-fpm 进程在 Ubuntu 14.04 LTS(Nginx 服务器、MariaDB 数据库)上面临性能问题。

给我

我尝试使用 php-fpm7.0、PHPMod7.1 但同样的问题。

对于少量数据的请求,CPU 高达 100%。

配置是默认配置。

在重复的实例上 php5.6-fpm 运行良好。

编辑:可能相关的 PHP 脚本一直在做 mmap/munmap

编辑:我试图启用大页面https://wiki.debian.org/Hugepages Acat /proc/meminfo | grep Huge给了我

但仍然是同样的问题。

编辑:我尝试启用/禁用 OPCache,也设置了opcache.huge_code_pages=0,没有结果。http://php.net/上没有关于大页面的文档

0 投票
0 回答
174 浏览

rust - 有没有办法可以在 Darwin 上使用“mmap”和 Rust 中的超级页面?

Darwin 上的手册mmap指定为了mmap与超级页面(Linux 的大页面的 Darwin 等价物)一起使用,VM_FLAGS_SUPERPAGE_SIZE_*应该使用标志。

我正在尝试在 Rust 中使用此功能,但在 Darwin 的任何一个 Rust libc 版本( i686x86_64)中都找不到这些常量。

0 投票
1 回答
457 浏览

mongodb - MongoDB 可以管理超过 300 MB 流数据的回滚过程吗?

我正在处理 MongoDB 的回滚过程。问题是大数据的回滚可能大于 300 MB 或更多。

这个问题有什么解决办法吗?错误日志是

在官方 MongoDB 文档中,我看不到解决方案。

感谢您的回答。

0 投票
1 回答
1277 浏览

page-fault - 如何衡量次要页面错误成本?

我想验证透明大页面(THP)会导致大页面错误延迟,因为 Linux 在将页面返回给用户之前必须将页面归零。THP 比 4KB 页面大 512 倍,因此清除速度较慢。当内存碎片化时,操作系统通常会压缩内存以生成 THP。

所以我想测量轻微的页面错误延迟(成本),但我仍然不知道。

0 投票
0 回答
329 浏览

java - 处理驻留集大小和大页面

进程驻留集大小 (RSS) 是否考虑映射为大页面的页面?例如在 Centos 7 上配置为(禁用透明大页面,大页面池配置为最小值:0,最大值 200000):

将过程创建为:

你好.java:

}

导致显示结果中的 RSS 列:

显示大约 120Gb?

我在这里最终要弄清楚的是,如果 java 确实在我的配置中预先触摸了大页面,或者其他什么是错误的。

0 投票
0 回答
724 浏览

java - Continuous Full GC - Java 8

Cross Posting from openJDK mailing list.

Why was Full GC (Allocation Failure) or for that matter a GC being triggered even when Eden Space was (almost) empty. I can see Metaspace being full, but then a GC due to that should have had Full GC (Metadata GC Threshold) and NOT Allocation Failure as the reason.

This went on for roughly 9hrs. Any thoughts?

Exception in std_out:

Similar stack trace is also observed for a plain object allocation instructions.

System Details:

  • Java HotSpot(TM) 64-Bit Server VM (25.121-b13) for linux-amd64 JRE (1.8.0_121-b13), built on Dec 12 2016 16:36:53 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

  • OS: Red Hat Enterprise Linux Server release 7.3 (Maipo)

  • This application was using AnonHugePages (THP)
0 投票
0 回答
711 浏览

linux-kernel - 在内核驱动程序中使用大页面

我参考以下两个链接在我的 linux 驱动程序中使用大页面:

在内核驱动程序http://nuncaalaprimera.com/2014/using-hugepage-backed-buffers-in-linux-kernel-driver中顺序访问大页面

下面是我的代码:

日志打印:

页 pfn [0]=154A00, [1]=0x154A01, [2]=0x154A02
页物理 [0]=2A940000000, [1]=0x2A940200000, [2]=0x2A940400000
页逻辑地址 [0]=ffff8aa940000000, [1] =ffff8aa940200000, [2]=ffff8aa940400000
page_address [0]=ffff880154a00000, [1]=ffff880154a01000, [2]=ffff880154a02000

我有几个问题:
1)我想知道 vm_map_ram() 是否可以处理大页面。从内核源代码中,我可以看到 vm_map_ram() 使用 PAGE_SIZE 和 PAGE_SHIFT,它的值应该是默认的 4KB 页面大小。就我而言,在写入从 vm_map_ram() 返回的虚拟地址后,我遇到了“BUG:无法在 XXXX 处处理内核分页请求”问题。
2) 两个页面的 page_address 返回值为 0x1000(4KB) 间隙,而不是 2MB 间隙。这是为什么?
3) 我是否正确使用了 "__va(page_to_pfn(pages[0])<

提前致谢!