Questions tagged «virtual-memory»

2
有人真正使用透明大页面并从中受益吗?
最近,我一直在努力处理透明的大页面性能问题,并且注意到许多数据库系统建议将其关闭。我说的是Oracle,Postgresql,MySQL,Cassandra,NuoDB,Redis,Hadoop等。 举些例子: 彼得·扎伊采夫(2014年7月23日)。为什么TokuDB讨厌透明的HugePages。Percona。 米歇尔·凯西(2013-09-17)。透明巨大页面的性能问题。甲骨文 亚当·阿布雷瓦亚(Adam Abrevaya)和奥列格·莱文(Oleg Levin)(2014-05-15)。 Linux透明大页面,JEMalloc和NuoDB。NuoDB开发中心。 所以我想知道:什么功能可以从此功能中受益?

2
为什么在现代Linux上,默认堆栈大小如此之大-8MB(在某些发行版中甚至为10MB)
例如,在OSX上,它甚至不到512k。 有没有建议的大小,请记住,该应用程序不使用递归并且不分配很多堆栈变量? 我知道这个问题太广泛了,它很大程度上取决于用法,但是我仍然想问,因为我想知道这背后是否存在一些隐藏的/内部的/系统的原因。 我想知道,因为我打算在我的应用程序中将堆栈大小更改为512 KiB-听起来仍然很大,但它比8MiB小得多-并会导致进程的虚拟内存显着减少,因为我有很多线程(I / O)。 我也知道这并没有真正的伤害,请在此处进行详细说明:pthreads的默认堆栈大小

1
了解MMAP
我在这里浏览有关MMAP的文档,并尝试使用此文档来实现 我对它的实施有一些疑问。 MMAP是提供文件的映射并返回物理内存中该位置的指针还是返回映射表的地址?是否也为该文件分配和锁定空间? 将文件存储在内存中的那个位置后,它会一直保持在那里直到munmap被调用吗? 该文件是否甚至移至内存中,还是只是用作重定向的映射表,而该文件实际上位于虚拟内存-(disk)中? 假设将其移到内存中,如果其他进程具有地址,其他进程可以访问该空间以读取数据吗?


5
如何正确设置zram和交换
我正在配置和编译新的3.0内核。我计划一段时间(通过打补丁)合并到3.0中的好东西是zram。 是否可以同时设置hdd swap和zram swap,以便首先使用zram,仅将溢出的页面放入实际交换中?

1
无法处理内核分页请求?
[免责声明:最初,我对在此处发布此内容感到有些不安,因此我在Meta上询问讨论自制或改装是否可以接受。根据我从几位资深会员那里得到的答复,我继续进行此发布。这是Meta上的链接。] 我目前正在尝试使用xboxhdm和ndure 3.0修改我的原始Xbox。xboxhdm是围绕一个小型可启动Linux发行版构建的,它非常适合我,因此我想在这里问一下,看看是否有人可以帮忙。(注意:在任何人建议使用不同的主板之前,xboxhdm都可以从PC上的CD引导-Xbox硬件完全不参与该过程,所以这就是我在这里问的原因。) 我使用的PC相对较旧-这是一台旧的Compaq台式机,具有约512mb RAM和2.5GHz处理器(可能是P IV)。我使用它是因为它在主板上有2个IDE端口。从性能角度来看,计算机的年龄不应该成为问题-xboxhdm + ndure黑客已经存在多年了-它旨在在这种硬件上运行。 无论如何-在此过程的某一时刻,我必须将某些文件从CD复制到Xbox硬盘驱动器(Xbox硬盘驱动器是标准的Seagate IDE驱动器,由Molex提供支持)。大约在复制过程的一半,一切都死了……我得到一个unable to handle kernel paging request错误,并最终导致内核恐慌。 我找不到任何有关此错误的信息,以及它与Xbox改装的具体关系,但是我能找到的信息表明我的RAM可能不好。我尚无法测试,但是回到家后,我将立即运行MEMTEST。 我没有随身携带的设备-我在工作中,而且它在家里-但是如果有人有兴趣伸出援手,我将在今晚照相并张贴。我在这里问的唯一原因是因为我仍然是一个相当新的* nix转换者,我不确定这一切如何工作。我也假设那unable to handle kernel paging request是一个相当标准的错误消息,如果我错了,请纠正我。

1
/ proc / pid / maps中的共享库映射
为什么/proc/pid/maps在同一个库中包含一些记录?这是一个例子: 7fae7db9f000-7fae7dc8f000 r-xp 00000000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7dc8f000-7fae7de8f000 ---p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de8f000-7fae7de97000 r--p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de97000-7fae7de99000 rw-p 000f8000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 这是什么意思 ?

4
为什么RHEL 6 128 TB的理论RAM限制如何确定?
我正在为RHCSA学习,但对一些培训材料中的陈述感到困惑: 没有实际的最大RAM,因为从理论上讲,您可以在RHEL 6上运行128 TB RAM。但这只是理论上的问题。RHEL 6上的Red Hat支持的最大RAM在32位系统上为16 GB,在64位系统上为2 TB。 有人可以解释一下128 TB理论极限值的来源吗?如果RHEL 6明确定义了其他最大限制,我对于作者如何知道理论限制感到困惑。这仅仅是考虑到64位体系结构的理论限制吗?还是这里还有其他原因?

3
更改内存页面的大小?
我想将内核的页面大小从4KB更改为4MB,因为我在计算机上增加了大量RAM,并且我再也用不完了。 这个想法是,需要大量内存的程序将在分配页面上花费更少的时间。我想它可以提高性能,我想尝试一下。 跑步时我什么也找不到make menuconfig。有没有办法做到这一点?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.