我正在一台非常强大的机器上运行一些测试(24GB RAM,Window 2008 64bit)
我检查了我的任务管理器:物理内存:98%(RAM 为 24GB)
但是我所有正在运行的处理器的“内存(私有工作集)”使用量不超过 16GB
那些额外的 8GB 用于何处?它是由操作系统 IO 缓冲区使用还是在其他地方使用?
任何人都可以贡献一些想法吗?
当我启动 php-script 并执行时,大约有 450MB 的ps aux巨大数量VSZ。而RSS——常驻集大小——大约是10MB。从维基百科,常驻集大小是is the portion of a process's memory that is held in RAM. 但是虚拟内存大小是否包括保存在其他地方的内存,比如文件系统?虚拟内存究竟由什么组成?
Linux OS:es 通常允许过度使用内存。例如一个进程可以分配 100GB 的内存,即使机器只有 8GB 的物理内存并且没有交换。
只要没有实际使用所有分配的内存,该过程就会工作。如果程序试图全部使用它,OOM-killer 将杀死进程以释放内存。
这在 Windows 中是如何工作的?Windows 是否会拒绝为进程提供虚拟内存,除非它可以保证该内存可以由实际内存(物理 RAM 或交换)支持?
我现在在我的 2GB RAM 笔记本电脑上运行 XP SP3,我从任务管理器看到仍然有大约 800MB 的物理内存可用。您可以在此处查看任务管理器的外观
无论如何,考虑到仍然可用的物理内存量,我看到页面文件使用情况相当多。为什么不使用更多物理内存,我希望这会提高性能。
有什么调整可以尝试以这种方式提高性能吗?
可能的重复:
为什么我们需要将交换空间设置为物理内存的两倍?
我已经在计算机上工作了一段时间,并意识到虚拟内存的重要性。我一直假设将其设置为安装的 RAM 量的两倍是必要的。然而,随着这些年来记忆力一直在增长,我想知道这是否仍然正确。例如,在我的 6 GB RAM 系统上,将虚拟内存大小设置为 12 GB 是最佳做法吗?对于较小的 ram 系统,是否值得将虚拟 ram 设置为更多(即 1GB 物理 ram 和 3GB 虚拟)?
所以我一直在阅读虚拟内存,这一切看起来都非常简单和实用。但是,我对一个主要概念感到窒息。
如果虚拟内存存储在主内存中,那为什么还要使用它呢?为什么不只使用主内存?
我确定我在这里遗漏了一些东西,只是不明白是什么。
SysInternals 的任务管理器和进程资源管理器在 PF Delta 列中报告了 ~3000
而资源监视器仅报告 ~5 硬故障/秒
我被告知它们是相同的,所以为什么它们不显示相同的值。
PF Delta 是否包括软故障?即使我也被告知它不是。
使用 Windows 7 测试。
我的电脑就像完全没有虚拟内存一样。当然,我经常同时处理多项任务,但我有 4gb 的 RAM,我昨天才从 2gb 升级到了它。
在任务管理器的性能选项卡上,它说:
总数:3327 缓存:1411 可用:1414 免费:14
我正在运行 Windows 32 位,我知道它不能处理 4GB 的 RAM,但是有人可以解释一下我所有的内存在哪里以及我如何更好地管理它吗?
我的系统在提交的内存上运行很高(在 8GB RAM + 2 GB 页面文件中 85% 的内存已提交)。物理使用率约为 65%。
如何确定哪个进程正在分配大部分已提交的内存?我知道内存可以在进程之间共享。到目前为止,我已经使用 VMMap 来显示已提交的内存,但这是基于每个进程的,并且不考虑页面文件支持的部分。
在 GNU/Linux 中有一种方法可以drop_caches.
drop_caches是从主内存中刷新缓存的命令。
我在 macOS 中没有这样的命令。
如何..?
virtual-memory ×10
memory ×5
windows ×4
buffer ×1
cache ×1
macos ×1
ps ×1
windows-7 ×1
windows-xp ×1