标签: virtual-memory

如果我有很多 RAM,我应该禁用交换文件还是应该将它移动到虚拟 RAM 驱动器?

想象一下,我有大量的 RAM。假设 64GB。即使是游戏 PC 也是如此。现在,Windows 中页面文件的默认位置在主操作系统驱动器上,无论是 HDD 还是 SSD,它们通常都更快,但仍然不如 RAM 快。

有些东西告诉我禁用硬盘驱动器上的页面文件或创建虚拟 RAM 驱动器并让页面文件在那里可以使 Windows 将其所有虚拟内存移动到 RAM,从而提高系统的性能,但我对此不太了解区域,所以这可能根本不是真的。

两种方法我都试过,但是我无法以我在记忆方面的知识水平来分析结果以得出明确的结论。

这行得通吗?如果不是,为什么?

memory windows performance pagefile virtual-memory

105
推荐指数
8
解决办法
11万
查看次数

虚拟内存实际上是如何增加内存空间的?

我知道虚拟内存通过显示比实际可用内存更多的内存来愚弄程序。

但最终它必须将逻辑地址映射到实际的物理地址。现在它是如何增加内存的?

memory operating-systems virtual-memory

73
推荐指数
3
解决办法
3万
查看次数

提交费用为 100%,但在不使用页面文件时物理内存仅为 60%

我已禁用页面文件在我的系统(硬盘是缓慢,不能买一个新的马上,不能页面文件移动到另一个分区)。当我看到资源监视器,使用内存要求很高的应用程序时,系统显示提交费用几乎 100% 已满。事实上,如果我继续要求更多的内存,当提交费用有效地达到 100% 时,程序就会开始崩溃。

与此同时,系统说我只使用了 50-60% 的物理内存,并且有大约 1GB 的可用内存(空闲 + 待机)。

如果提交费用是实际请求的总内存,为什么系统会说有这么多内存是空闲的?Windows 是否未使用物理内存?内存图错了吗?我错过了什么吗?

提交电荷图与物理内存图 任务管理器

memory windows-7 virtual-memory

33
推荐指数
2
解决办法
6万
查看次数

什么是虚拟内存?

我仔细检查了我的“虚拟记忆”笔记,课本中的定义是:

分配一部分辅助存储作为主存储器的一部分的过程

正如维基百科所说:

虚拟内存是一种计算机系统技术,它给应用程序的印象是它具有连续的工作内存(地址空间)

和(维基百科也说)

请注意,“虚拟内存”不仅仅是“使用磁盘空间来扩展物理内存大小”

任何人都可以澄清哪个是正确的?

virtual-memory

32
推荐指数
2
解决办法
2万
查看次数

在 Mac OS X 中取消暂停应用程序

我尝试解析一个巨大的 XML 文件,但最终却耗尽了虚拟内存。操作系统暂停了我所有的应用程序,并给了我一个屏幕来关闭应用程序以释放更多空间。我杀死了 XML 解析应用程序,现在有大量空间,但我无法再恢复暂停的应用程序。我该怎么办?

mac process virtual-memory macos

28
推荐指数
2
解决办法
3万
查看次数

当内核无论如何都支持分页/虚拟内存时,为什么 Linux 使用交换分区?

据我了解分页和交换,它们是完全不同的概念。而交换意味着,一个进程要么完全在物理内存中,要么在硬盘驱动器上,进程的分页部分可以在物理内存中,其他部分可以在硬盘驱动器上。

但是为什么 linux 需要一个交换分区呢?如果物理内存满了,一些进程会外包给硬盘,新的进程会从虚拟内存映射到物理内存。

我只是不明白为什么需要一个交换分区(或一般的交换)呢?

或者这只是一个术语问题swap partition == virtual memory

memory linux operating-systems virtual-memory paging

23
推荐指数
3
解决办法
6428
查看次数

给定的 Mac 应用程序使用多少交换?

有什么方法可以判断在 Mac OSX (10.2+) 上运行的特定应用程序是否已换出部分内存(即,换出其中一个/private/var/vm/swapfile*文件)?多少钱?

赏金 (150 rps)

简单的问题。如果我在赏金期到期后不到 2 天看到它,第一个正确答案将被接受。如果我还没有得到一个,我会把它奖励给告诉我最有趣的新事实的人。如果我没有从任何答案中学到任何东西,我会将赏金奖励给写得最漂亮的人。

mac swap virtual-memory macos

20
推荐指数
3
解决办法
1万
查看次数

如何诊断不断膨胀的 OS X kernel_task 和有线内存使用情况?

我有一个非常奇怪的问题,我很难诊断出根本原因。

我有一台Mac Pro(2008 年,8 核 2.8 GHz,8800GT)和 14 GB 内存(最近因为这个问题升级了!)。

当我启动系统并登录时,vm_stat / top / Activity Monitor 将显示 kernel_task 分配了大约 150 MB,并且机器分配了大约 800 MB 的有线内存。

即使最初,在没有应用程序运行的情况下分配 800 MB 的有线内存似乎也非常多 - 但是,情况变得更糟。(注意:有线已锁定,不可交换内存)

在很短的时间后,有时会像启动终端这样简单的事情触发,kernel_task 将膨胀到 8-900 MB 的 Real Mem (RSIZE),而 Wired Memory 将加速到 1.6 GB(意味着所有额外的内存请求都用于内核中的有线 RAM)。

如果我退出所有内容(即:没有正在运行的应用程序,禁止活动监视器或终端查看顶部),则 kernel_task RSIZE 或有线内存使用量没有明显减少。反其道而行之,为系统加载任务也表明有线内存不会减少——重要的是,它不会比大量交换更受欢迎。

如果我注销并重新登录,它会减少一点(450 MB kernel_task,1.28 GB 有线),但不会回到开始。

我没有运行任何古怪的kext s - 而且,kextstat 显示那里没有巨大的内存分配;最大的是 com.apple.nvidia.nv50hal,内存约为 4 MB。

发生这种情况时,机器总体上感觉更加缓慢 - 不足为奇,因为如此大量的 RAM 已被标记为不可分页。

所以我有几个问题:

1)有没有一种好方法来诊断分配了所有这些有线内存的内容?它通常是 kernel_task 大小的 2 倍以上,不运行任何应用程序。实际内存总量似乎没有加起来 - 似乎有一堆 RAM …

memory mac kernel virtual-memory macos

20
推荐指数
2
解决办法
1万
查看次数

如何停止 Linux 进程以供稍后执行换出其内存

我想停止一个长时间运行的进程,这样它就不会消耗任何 CPU 或物理内存资源,以便将来恢复相同的进程

我知道,CPU部分是可以实现的使用SIGSTOPSIGCONT 信号,但有可能页出(换出在工艺脏页的情况下),立即一(停止)进程的专用内存RSS?

linux swap process virtual-memory

20
推荐指数
1
解决办法
1724
查看次数

如何停止“vmmem”进程?

我在 Windows Home 上安装了 docker,它使用 WSL2 作为后端。然而,自从我昨天在上面安装了一个新容器以来,我的电脑风扇每 5 秒就打开一次。我不确定是什么导致计算机超载。Vmmem 仅使用了我的 CPU 的 0.1%,但由于它使用了 1 GB 内存,这可能是问题的根源。我运行 docker stop $(docker ps -aq) 来停止我唯一正在运行的容器,但这没有什么区别。我应该怎么办?

virtual-memory docker windows-10

19
推荐指数
2
解决办法
5万
查看次数