Questions tagged «swap»

交换空间是硬盘上的一个区域,当计算机内存已满时,它会溢出。非活动应用程序使用的内存部分写入磁盘,以为其他应用程序和活动文件的磁盘缓存腾出空间。

8
当RAM中有足够的可用空间时,为什么要使用swap?
使用交换空间代替RAM会大大降低 PC的速度。 那么,为什么当我有足够多的可用RAM时,我的Linux系统(Arch)是否使用交换? 在下面查看我的conky输出: 另外,这可能是我遇到的速度和系统响应性问题的原因吗? 输出free -m: $ free -m total used free shared buffers cached Mem: 1257 1004 252 0 51 778 -/+ buffers/cache: 174 1082 Swap: 502 144 357
124 performance  swap 


3
为什么默认将swappiness设置为60?
我刚刚读了一些有关Linux上交换性能的内容。我不明白为什么默认设置为60。 据我说,该参数应设置为10,以减少交换。交换位于我的硬盘驱动器上,因此它比内存慢得多。 他们为什么要这样配置内核?
109 linux  kernel  swap 

13
如果我有足够多的RAM,是否需要交换空间?
据我了解,Linux 交换分区的目的是从RAM中释放一些“不那么频繁访问”的信息,并将其移至硬盘驱动器上的特定分区(以使其读取或写入速度较慢为代价) ),从本质上允许活动应用程序使用更多的“高速内存”。 当您在具有少量RAM的计算机上并且如果用完时不希望遇到问题时,这非常有用。但是,如果您的系统具有16 GB或32 GB的RAM,并且假设您没有在StackExchange上运行MySQL数据库或在Linux中编辑1080p全长电影,那么是否应该使用交换分区?
91 memory  swap 

4
交换如何这么慢?
我以某种方式碰巧换出了14 GB的内存。杀死了罪魁祸首之后,我又有了大量的可用内存,因此我想我可以再次引入重要数据。因此,使用32 GB中的5 GB和14 GB的交换空间,我跑了swapoff -a.. 4小时后,大约一半的工作完成了。 这意味着不到1 MB / s,而我可以轻松复制200 MB / s。我的交换已加密,但是所有普通分区也都加密了,使用es-ni不会导致明显的CPU负载(填充交换空间仅花费了几分钟)。我看到没有特别的理由进行优化swapoff,但是我想知道它怎么会变慢呢? 只需添加更多数据:我的主内存为32 GB,并且4个硬盘中的每一个都有32 GB的交换空间(肯定是个大问题,但是谁在乎呢?)。整个交换空间可以在不到5分钟的时间内被(解密并)读取: time -p sudo sh -c 'for i in /dev/mapper/cryptswap?; do md5sum $i & done; wait' 014a2b7ef300e11094134785e1d882af /dev/mapper/cryptswap1 a6d8ef09203c1d8d459109ff93b6627c /dev/mapper/cryptswap4 05aff81f8d276ddf07cf26619726a405 /dev/mapper/cryptswap3 e7f606449327b9a016e88d46049c0c9a /dev/mapper/cryptswap2 real 264.27 读取分区的一部分不会比读取全部分区慢。然而,阅读其中的1/10大约需要100倍的时间。 我观察到,在swapoff这两个期间,CPU大部分都处于空闲状态(可能是一个内核的10%),磁盘也处于空闲状态(由LED进行“测量”)。我还看到交换空间被一个接一个地关闭。
77 swap 

6
什么不放在SSD上?
我购买了SSD,然后将使用全新的Linux安装程序来安装台式机系统。 SSD已知速度很快,但有一个缺点:写入次数(每块?)是有限的。 因此,我正在考虑哪些数据应位于SSD上,哪些数据应位于HDD驱动器上。通常,我认为应该将经常更改的数据放置在HDD上,将不经常更改的数据放置在SSD上。 现在,我以类似的情况阅读了这个问题。答案中写道:“ SSD驱动器非常适合交换空间...” 为什么SSD非常适合交换空间?好的,我认为提高系统性能的潜力很大,但是交换数据的次数并不频繁,因此SSD上的写入次数很多,从而导致SSD寿命较短? 那么/ var目录呢?它的内容也不经常更改吗?将其放在HDD上不是一个好主意吗? 是否还有其他不应位于SSD上的数据?

2
我无法在CentOS 7上启用交换空间
因此,我正在按照一个教程来安装OTRS,它是开源的票务请求系统。因此,要安装,它需要:4GB的交换空间。这是我使用的命令: [root@ip-10-0-7-41 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 50G 14G 37G 27% / devtmpfs 478M 0 478M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 13M 484M 3% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000 [root@ip-10-0-7-41 ~]# …
55 centos  swap 

5
如何安全地永久关闭交换并回收空间?(在Debian Jessie上)
我在我的SSD驱动器上安装了具有默认分区的Debian Jessie。我当前的磁盘分区如下所示: 因为我有16GB的RAM,所以我认为我不需要swap。但是,由于我还有其他磁盘驱动器,因此我可以例如在其他驱动器之一上创建交换文件。 您能告诉我应该采取什么步骤正确而永久地删除交换分区,以免它占用磁盘空间吗?我希望删除交换分区,因为我目前只有128GB SSD。 这是我每次尝试并重新启动的内容;这些步骤中的每一个都不是永久性的,或者没有做任何事情: 使用swapoff实用程序: swapoff --all 使用GParted实用程序: 右键单击交换分区,然后单击交换。 在以下文件中注释掉交换分区的UUID: /etc/fstab 在以下文件中注释掉交换分区的UUID: /etc/initramfs-tools/conf.d/resume 最后运行这些命令(以相反的顺序): update-grub update-initramfs -u


10
交换是不合时宜的吗?
我已经使用unix一段时间了,在最近几年中,我觉得交换是不合时宜的,但是我很好奇其他人的想法。 我的说法大致是这样(假设没有全局ulimit或OOM设置的混乱): There is little value in swap because if you need to swap out to disk, odds are it's going to be a vicious cycle where an app will continue to eat not only real memory, but swap as well until it gets OOM reaped (_if_ it gets OOM …
43 swap 

6
如何仅将交换空间用于紧急情况?
我有一台Debian(Buster)笔记本电脑,具有8 GB RAM和16GB交换空间。我正在执行一项很长时间的任务。这意味着我的笔记本电脑在过去的六天内一直处于开机状态。 在执行此操作时,我需要定期将笔记本电脑用作笔记本电脑。这应该不成问题;长期运行的任务是受I / O约束,可以处理USB硬盘上的内容,并且不会占用太多RAM(<200 MB)或CPU(<4%)。 问题是几个小时后我回到笔记本电脑时,它会非常缓慢,可能需要30分钟才能恢复正常。这非常糟糕,崩溃监视器将其各自的应用程序标记为已冻结(尤其是浏览器窗口),并且开始错误地崩溃。 在系统监视器上查看,已使用的2.5 GB内存中约有一半转移到了swap中。我已通过删除交换空间(swapoff /dev/sda8)确认了这是问题所在。如果我没有交换空间就可以使用它,即使在24小时之后,它也几乎可以立即恢复运行。通过交换,实际上仅剩下前六个小时的前五分钟就变成了一块砖。我已经确认即使我不在时内存使用量也不会超过3 GB。 我曾尝试降低swappiness(另见:维基百科)对值10和0,但问题仍然存在。似乎经过一天的不活动之后,内核认为不再需要整个GUI,并将其从RAM擦除(将其交换到磁盘)。长期运行的任务是读取庞大的文件树并读取每个文件。因此可能是内核被混淆了以为缓存会有所帮助。但是,仅扫描一次具有约10亿个文件名的2 TB USB HD,额外的GB RAM就不会对性能产生很大的帮助。这是一台便宜的笔记本电脑,硬盘驱动器呆滞。它根本无法足够快地将数据加载回RAM。 如何告诉Linux仅在紧急情况下使用交换空间?我不想没有交换就跑。如果发生意外情况,并且操作系统突然需要额外的GB,那么我不希望任务被杀死,而宁愿开始使用swap。但是目前,如果我启用交换功能,则仅在需要时才可以使用笔记本电脑。 “紧急情况”的确切定义可能是一个有争议的问题。但是要澄清一下我的意思:紧急情况是系统处于交换或终止进程的状态而没有其他选择的地方。 什么是紧急情况?- 您真的要问吗?...希望您永远不会在燃烧的建筑物中发现自己! 对于这个问题,我无法定义所有可能构成紧急情况的东西。但是例如,紧急情况可能是当内核被迫压入内存以至于它开始使用OOM Killer终止进程时。当内核认为使用交换可以提高性能时,就不会出现紧急情况。 最终编辑: 我已经接受了一个答案,该答案恰好满足了我在操作系统级别上的要求。未来的读者还应该注意提供应用程序级解决方案的答案。
41 linux  memory  swap 

3
vm.swappiness参数真正控制什么?
根据内核文档: This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. 但这有点含糊。我试图弄清楚参数最终控制什么。我知道它会调整内核尝试换页的积极程度,但是它会影响内核代码中的哪些决策过程? 它会调整内核换出之前必须访问页面多长时间吗?如果是这样,默认值60代表什么?增减1会改变多少(一个公式会很好)? 还是根据访问频率交换页面? 或者是其他东西?
36 linux  kernel  memory  swap 


6
如何完全禁用掉期?
我正在使用Debian sid(用ext4格式化的硬盘),在Linux 3.1上运行 我记得在以前的linux版本(可能在3.0之前)上,如果内存不足,并且未启用swap,程序通常会崩溃。这非常适合我的环境:简单的Web浏览,无任何关键操作。就是说,如果我不小心遇到了一个占用过多内存的不良网站,它只会崩溃而不会导致我的终端无法使用。 但是在我当前的设置中,计算机在后台挂起时具有严重的I / O吞吐量。iotop揭示kswapd0是罪魁祸首,这意味着它是由于交换引起的。在swapon -s用于确定已启用的swapoff -a所有交换之后,我曾经禁用了所有交换,然后swapon -s再次确认所有交换均被禁用。 然后,我尝试再次最大化内存使用率。las,我所期望的行为没有发生。相反,kswapd0会反复尝试换出RAM,并且由于没有交换空间而失败。因为它永远不会放弃,所以我的计算机陷入了永久性的I / O严重冻结,这对磁盘的运行状况不利。 我尝试做错什么了swapoff -a吗?为什么该行为与以前不同(可能是3.0倍之前)?
30 linux  debian  swap  freeze 

12
如何调整Linux桌面以提高响应速度?
我的经验是,在物理内存耗尽之前,Linux可以正常工作。一旦使用交换空间,性能就会严重下降,GUI会变得无响应。 这个问题不仅限于特定的发行版或台式机,因为我已经尝试了一些(问题仍然存在)。 我该怎么办?
30 linux  kernel  performance  io  swap 

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.