huge-pages

具有 x86 非对称内存通道的 Linux/GRUB 上的物理内存寻址和大页分配
huge-pages

具有 x86 非对称内存通道的 Linux/GRUB 上的物理内存寻址和大页分配

假设您有一台现代 AMD/Intel x86 机器,带有 2 个 DRAM DIMM,配置为非对称双通道。其中一个是 16GB,另一个是 48GB。 在这种情况下,我想禁止在较大的 DIMM 中一般使用 32GB,并将它们标记为 32 * 1GB Hugepages。这将迫使大页区域作为单通道访问,另一个区域则完全双通道。 在Linux下可以实现上述场景吗?如果是的话,怎么样? AFAIK,x86非对称内存通道的物理寻址将具有通过通道宽度(64位)交叉配置的低地址区域和仅在单通道上的高地址区域。 ...

Admin

如何强制同步分配大页?
huge-pages

如何强制同步分配大页?

在 Linux 上,(非透明)大页可以通过写入 sysctlvm.nr_hugepages或等效地写入/sys/kernel/mm/hugepages/hugepages-<SIZE>kB/nr_hugepagessysfs 文件来分配: # to allocate 2 GiB worth of huge pages, assuming a huge page size of 2 MiB (default on x86) $ sysctl vm.nr_hugepages=1024 # likewise, but explicitly $ ech...

Admin

hubetlb 控制器在哪里自动启用?
huge-pages

hubetlb 控制器在哪里自动启用?

一台Ubuntu 22.04 cgroup2系统的kvm虚拟机(8个vcpu+8G内存), cat /sys/fs/cgroup/cgroup.subtree_control hugetlb controller included; 但是Ubuntu 22.04的另一个kvm虚拟机(4个vcpu + 4G内存)带有cgroup2系统, cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory hugetlb pids rdma misc cat /sys/fs/cgroup/cgroup.subt...

Admin

如何更改/dev/hugepages的权限?
huge-pages

如何更改/dev/hugepages的权限?

我有一个应用程序可以打开()下面的文件/dev/hugepages来分配一个大页面。目前,它需要 root。 我如何更改权限? 它由 F38 自动安装: #/usr/lib/systemd/system/dev-hugepages.mount # SPDX-License-Identifier: LGPL-2.1-or-later # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # und...

Admin

实际问题
huge-pages

实际问题

搬家通知 我刚刚从 StackOverflow 问题(我已删除该问题,因为强烈反对交叉发布)中移出了这个问题(稍加修改),该问题在那里尚未得到解答,可能更适合这里。 StackOverflow 问题上有两条评论(但没有答案)。以下是这些评论的简短摘要(请注意,您可能需要阅读实际问题才能理解这一点): 文件系统方法使您能够使用libhugetlbfs它来做各种各样的事情。 这并不能真正说服我 - 如果我作为应用程序程序员可以在不通过文件系统的情况下分配大页面,那么也可以libhugetlbfs,对吧? 通过文件系统,您可以设置谁可以分配大页面的权限。 ...

Admin

如何在 Ubuntu 上的 cgroup v2 中启用 HugeTLB 控制器
huge-pages

如何在 Ubuntu 上的 cgroup v2 中启用 HugeTLB 控制器

我正在尝试启用巨大的TLB我的系统上的 cgroup v2 上有控制器,但不知道如何操作。 这是我的系统上的控制器列表: cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory pids rdma 这是我在系统上看到的 meminfo: cat /proc/meminfo | grep Huge AnonHugePages: 0 kB ShmemHugePages: 0 kB FileHugePages: 0 kB HugePages_Total:...

Admin

Linux 交换分区会太大吗?
huge-pages

Linux 交换分区会太大吗?

Linux 交换分区会太大吗? 我很确定答案是“不”,但我还没有找到任何相关资源,所以我想问一下。 相比之下,主 Windows 交换文件 pagefile.sys 可能太大。通常引用的上限是 3 倍安装的 RAM,否则系统可能无法正常运行。 区别似乎在于,Linux 虚拟内存可以通过内核参数进行高度配置,更不用说编译选项了,而 Windows 虚拟内存则几乎没有。因此,Windows 虚拟内存管理似乎依赖于不可变的算法,或者似乎依赖于交换文件大小及其配置方式。 当然,Linux 有自己的虚拟内存管理算法,但问题是它们是否以及如何受到指定交换分区或文件大小的...

Admin

在 FreeBSD 中增加 hw.pagesize
huge-pages

在 FreeBSD 中增加 hw.pagesize

我的服务器很不稳定自由BSD 13。 从文档我sysctl可以读到hw.pagesize 不能改变在旅途中。这对我来说很有意义,因为这种类型的参数取决于内核。 我还可以在那里读到: Some of the variables which cannot be modified during normal system oper- ation can be initialized via loader(8) tunables. This can for example be done by setting them in loader.conf(5). ...

Admin

linux启用大页面管理
huge-pages

linux启用大页面管理

我正在做一些实验。实验中使用了一些大页(2MB),以便在进行虚拟地址转换时可以保持21位页偏移不变。我找到了一些关于如何在互联网上启用大页面的方法。这是有效的。但我对其原理不是很清楚,所以想请教一下? It requires Hugepages and assumes they are mounted on `/mnt/hugetlbfs/`. This value can be modified by changing the value of FILE_NAME. The mount point must be created previously: ...

Admin

Linux 仅使用大页
huge-pages

Linux 仅使用大页

我有一个 x64 Linux 系统。报告的页面大小getconf为 4 k: $ getconf PAGESIZE 4096 我希望内核仅使用大页面(2 M 或 4 M)进行所有内存分配。我计算过,我有足够的 RAM 来处理因此而浪费的内存。 如何配置 Linux 内核,使其对所有分配使用大页面? ...

Admin

在启动时分配大页面的好处
huge-pages

在启动时分配大页面的好处

[将问题从 StackOverflow 移至似乎不太合适的地方] 内核使用default_hugepagesz=1G选项启动,该选项定义默认页面大小的大小。因此,当应用程序需要大内存时,内核会为其分配1G页面。 如果内核以 启动hugepages=N,即在启动时分配 N 个大页面。那么在这种情况下,内核会自动从该池中获取页面,从而节省分配内存的时间? 当这个池用完可用页面时,内核将如何分配大内存? ...

Admin

在 RHEL6 上为 Oracle 18C xe 启用大页
huge-pages

在 RHEL6 上为 Oracle 18C xe 启用大页

我一直在尝试从 oracle AMM 切换到 ASMM 大页面。我在 RHEL 6 上做了以下更改 在 /etc/sysctl.conf 中添加了以下条目(按照 Hugepages_setting.sh 的建议) vm.nr_hugepages=777 在 /etc/security/limits.conf 中添加了以下条目 oracle soft memlock 2831155 oracle hard memlock 2831155 重新启动服务器,将oracle参数memory_ta...

Admin

如何查看 1GB 巨大表的数量(以及我应该遵循哪些文档)?
huge-pages

如何查看 1GB 巨大表的数量(以及我应该遵循哪些文档)?

我正在尝试找出 Ubuntu 20.04 下 KVM 使用的大页面。如果我更改 2048 KiB(默认大小)页面的数量,我会看到这反映在/proc/meminfo :~$ echo 0 |sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 0 :~$ cat /proc/meminfo | grep Huge AnonHugePages: 0 kB ShmemHugePages: 0 kB FileHugePages: 0 kB Huge...

Admin

是否可以动态禁用透明大页?
huge-pages

是否可以动态禁用透明大页?

为了禁用THP 我们在所有 635 台机器上执行了以下操作RHEL(我们有rhel 7.5版本) 这些行来自我们在所有机器上运行的 bash 脚本 步骤1 [[ -f /sys/kernel/mm/transparent_hugepage/enabled ]] && echo never > /sys/kernel/mm/transparent_hugepage/enabled [[ -f /sys/kernel/mm/transparent_hugepage/defrag ]] && echo never ...

Admin

实验
huge-pages

实验

我正在尝试使用 libhugetlbfs 备份具有 1GiB 大页的多线程应用程序的内存分配。但是,只有主线程分配被分配了大页。如果我将 Glibc malloc arenas 的最大数量限制为 1,则所有线程的所有分配都将使用大页进行备份。由于引入了并发访问单个竞技场的争用,这并不理想。 有没有办法通过 libhugetlbfs 透明地强制所有线程使用大页面? 笔记:我知道透明大页面 (THP)。但是,小于 1GiB 的分配不会自动分配大页面。较小的页面只有在 khugepaged 内核线程处理它们时才会压缩成较大的页面,这是我不希望依赖的。理想情况下...

Admin