标签: swap

在交换时提高 linux 上的桌面响应能力

到目前为止,我测试过的所有 GNU/Linux 发行版都存在这样一个问题:每当内存被填满并且系统开始交换时,整个桌面和图形用户界面都会变得无响应,有时我必须等待大约 5-10 秒移动物理鼠标直到鼠标指针实际移动。

这是一种令人讨厌的行为,尤其是在内存较低的系统上。

有什么方法可以让某些应用程序/作业(例如桌面环境等)比其他应用程序更优先保留在 ram 中,以便实际占用所有内存的应用程序在桌面环境等之前被交换?

编辑: 我说的是使用整个 RAM 的情况,因此如果未禁用它,它将始终开始交换(我不希望进程被随机终止)。我不仅在低内存环境中遇到了这个问题,而且在我的台式机上有 8GiB 内存时也遇到了这个问题,部分原因是许多虚拟机,部分原因是内存泄漏。ZRAM 也不是解决方案,因为它只会延迟问题。对于这个问题,我能想到的唯一解决方案是一些用户空间实用程序或内核 API,它们允许完全防止某些作业被交换,或者至少使其不太可能发生。有没有人知道其他解决方案,或者对现有或计划中的此类工具或 API 有所了解?

第二编辑: ulatencyd似乎并没有与systemd的较新版本的工作呢,根据https://aur.archlinux.org/packages/ulatencyd-git/https://wiki.archlinux.org/index.php/Ulatencyd . 如果我理解正确的话,这可能是因为 systemd 从用户空间的角度接管了对 cgroup 的完全控制。

memory linux freeze swap memory-management

16
推荐指数
1
解决办法
1785
查看次数

禁用 Windows 页面文件有什么问题?

人们说你总是需要一个页面文件,它会提高性能,但我的 Windows 7 设置为没有页面文件运行。我只是不明白为什么人们会这样说 - 我有 6 GiB 的 RAM,而且我唯一一次几乎用完 RAM 是在我编译 Chromium 时,为此我临时启用了一个页面文件。

在典型情况下,我真的需要一个页面文件*来提高速度吗?为什么?

*我知道故障转储需要一个页面文件。不过,我从不使用故障转储,所以这无关紧要。

windows windows-7 performance swap pagefile

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

如何启用linux交换分区?

我有一个交换分区,但 Linux Mint 中的系统监视器显示“交换不可用”。我想我忘了在安装时设置“用作:交换”。

如何解决这个问题?

linux swap linux-mint partitioning

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

如何在 Windows 7 下加密交换文件?

Mac OS X 能够使用“安全虚拟内存”,这意味着从 RAM 换出到磁盘的任何内容都是加密的。这通过确保没有密码/密钥未加密地写入磁盘来提高安全性。自 10.8 起默认启用

Windows下有类似的东西吗?(特别是windows 7)是否可以在Windows下加密Windows页面文件(交换/虚拟内存)?

windows security encryption swap

14
推荐指数
1
解决办法
3797
查看次数

是否可以提示 Windows 使进程完全退出交换

是否可以提示 Windows 虚拟内存管理器将特定进程带出交换?

我经常遇到的情况是,所有正常程序都使用大约 50% 的 RAM,特别是一个嵌入式目标的 IDE,以及相关的调试器。

然后我让一个内存饥渴的进程运行 - 例如,wireshark 或在周末积累数据的东西,一切都被交换了 - 他们应该这样做。大进程完成后,大部分进程都留在交换中。

然后偶发性的暂停将进程交换回导致调试器出现问题,大概是由于 IDE 和硬件调试器之间的通信中的时间问题。因此,在足够多的尝试使 IDE 中的调试数据退出交换之前,对目标设备的控制可能是零星的。

windows swap process

13
推荐指数
1
解决办法
1396
查看次数

/proc/vmstat 中的参数 (pgpgin, pswpin) 和 (pswpout, pgpgout) 之间的确切区别是什么?

请注意,此问题仅针对linux。而到swap space,我指的是专用的swap partition

google在这方面做了一点,发现了这些definitions

Paging refers to writing portions, termed pages, of a process’ memory to disk.
Swapping, strictly speaking, refers to writing the entire process, not just part, to disk.
In Linux, true swapping is exceedingly rare, but the terms paging and swapping
often are used interchangeably.
Run Code Online (Sandbox Code Playgroud)

page-out: The system's free memory is less than a threshold "lotsfree" and unnused / least used pages are moved to the …
Run Code Online (Sandbox Code Playgroud)

memory linux swap virtual-memory linux-kernel

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

在笔记本电脑上使用 SSD 作为我唯一的驱动器

我的传统硬盘驱动器发出咔嗒声(今年我第二次杀死了驱动器),所以我刚买了一个 SSD,因为没有移动部件。但是,我非常害怕将它用作运行 Windows 7 的笔记本电脑中唯一的驱动器,因为交换文件会以我使用计算机的方式(严重的内存访问)杀死闪存。

虽然我有一个 esata 端口,但我的计算机没有其他驱动器插槽可用。我正在考虑让外部传统硬盘驱动器用于交换文件,但我不想一直随身携带它,这几乎会抵消 SSD 低功耗的任何好处。此外,我在 SSD 上花了太多钱,以至于我没有太多钱花在另一个外部驱动器上。

我还考虑过使用 USB 拇指驱动器存储交换文件,但我遇到的最快的拇指驱动器是 Patriot xPorter。我不确定我最终会不会这样做,但这让我想呕吐。

如果你处于我的处境,你会怎么做?

ssd swap

12
推荐指数
1
解决办法
856
查看次数

修改 Windows“Swappiness”

Windows 7 中是否有可修改的“swappiness”等价物?

我的系统有 8GB 的​​ RAM,这对于我的日常使用来说绰绰有余。我想修改交换行为,*NIX 系统称之为swappiness并将其设置为 0,就像我在我的 Ubuntu 机器上所做的那样。

我已经在网上搜索过这个,但所有的答案似乎都是针对 *NIX 系统的。

windows-7 swap

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

Linux系统中swap区的大小有关系吗

如果 Linux 中的交换区量设置得太小(比如 1Gb),并且主 RAM 是 ,这有关系128Gb吗?

我们是否应该始终将交换区的数量设置为 RAM 数量的两倍?

更新:

您好,感谢大家回答这个问题。其实我有这个疑问是因为我们在使用小集群系统的时候遇到了一些问题。问题已在此处发布。下图是这个小集群中的一些计算机的一些信息。

信息

MEMTOT是该机器的RAM的总量中,SWAPTO是SW AP区域该机器的总量,并且SWAPUS是SWAP区域的使用量。如图所示,SWAP的使用量确实很小。

在尝试解决Here中发布的这些问题时,我们不确定SWAP区域的数量是否设置得太小,这只是1Gb相对于128Gb,如图所示。因此,我有这个问题。很抱歉,我没有在这篇文章的原始版本中发布完整的背景信息。之前我们也想过,如果RAM量大,可以把SWAP的量设小一点。我们尝试将SWAP设置c014816Gb,问题似乎没有(也许我们应该在长时间观察它们的状态后得出这个结论)。

我们不是 Linux 系统的专业人士,我们无法解释为什么会发生这种情况。很有可能这是一个集群系统,SGE管理着每台机器的资源,需要有比较大的SWAP,因为那台机器可能会被很多用户提交的很多作业使用。

另外,如果我们只是把SWAP的量设置的太大,还会引起什么其他的问题也值得考虑。

linux swap virtual-memory swap-file gridengine

12
推荐指数
2
解决办法
1868
查看次数

如何使用 btrfs 在 ssd 磁盘上创建交换文件

我有带 btrfs 的 SSD,我尝试创建一个交换文件,如:

dd if=/dev/zero of=swapfile01  bs=1M count=10240
mkswap swapfile01
chmod 600 swapfile01
swapon swapfile01
Run Code Online (Sandbox Code Playgroud)

在 dmesg 我看到

[238434.731654] swapon: swapfile has holes
Run Code Online (Sandbox Code Playgroud)

我知道可能有一些由磁盘碎片引起的漏洞,但这是 SSD 磁盘,所以它可能无关紧要?有没有办法忽略这些漏洞?或者我该如何解决这个问题?

题外话 - 为什么我想要这个(为了避免评论中的不相关问题):我加密了磁盘,这在调整大小时很痛苦,所以我决定创建一个交换文件而不是调整交换分区的大小(我添加了 14GB ram,从 4gb 到 16gb,现在不能休眠)。

linux swap

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