Questions tagged «swap»

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

4
交换tmpfs(显然是个坏主意,但是可能吗?)
这个问题源自同事之间的一个玩笑,内容是关于通过将交换文件移动到tmpfs来提高性能。显然,即使有可能,也不是一个好主意。我想知道的是,能做到吗? 我目前在Ubuntu 14.04上,但是我可以想象大多数Linux / Unix机器的过程都相似。这是我在做什么: > mkdir /mnt/tmp > mount -t tmpfs -o size=10m tmpfs /mnt/tmp > dd if=/dev/zero of=/mnt/tmp/swapfile bs=1024 count=10240 > chmod 600 /mnt/tmp/swapfile > mkswap /mnt/tmp/swapfile # So far, so good! > swapon /mnt/tmp/swapfile swapon: /mnt/tmp/swapfile: swapon failed: Invalid argument 因此,在linux或unix(我对任何解决方案都感兴趣)上,您能以某种方式在驻留在ram中的文件/分区上设置交换吗?有办法解决Invalid argument我遇到的错误吗? 再次强调一下,我不希望这是解决实际问题的解决方案。我想这只是一个有趣的实验。
11 linux  swap  tmpfs 

2
当有足够的内存时,为什么我不能“交换”?
我最近注意到,即使我的系统上有很多内存: # free -m total used free shared buffers cached Mem: 15965 9680 6284 35 1754 2560 -/+ buffers/cache: 5365 10599 Swap: 2047 258 1789 我无法swapoff -a使用2G交换文件 -rw-r----- 1 root root 2.0G Feb 9 21:34 /2GB.swap 我已经通过更改了以下内核参数,sysctl但这应该是原因: vm.swappiness = 5 vm.vfs_cache_pressure = 200 任何原因: # swapoff -a swapoff: /2GB.swap: swapoff …
10 linux  memory  swap 

1
Arch Linux认为只有8个内存时我有大约16个RAM
我已经进行了几次搜索,但在Google上找不到为什么的任何信息,但是arch已分配7.7个演出给ram和7.9个演出来交换。 我只有8场演出。 它分配了更多的公羊来交换 我如何更改分配? 输出cat /proc/meminfo: MemTotal: 8091960 kB MemFree: 4925736 kB MemAvailable: 6131188 kB Buffers: 268936 kB Cached: 1219460 kB SwapCached: 0 kB Active: 1527516 kB Inactive: 1301140 kB Active(anon): 768904 kB Inactive(anon): 711440 kB Active(file): 758612 kB Inactive(file): 589700 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 8300540 …
10 linux  swap  ram 

3
是否可以对进程的内存消耗施加某种软限制?
我认为这并不是一个不常见的问题:一个进程分配大量的内存(这是由于内存泄漏错误所致,因为您尝试处理不可行的大输入文件,或其他原因)。RAM已满,并且在某些时候Linux必须切换到交换。好吧,有时候这只是最后的选择:如果我要进行昂贵的计算,如果快要用完RAM了,我不想丢失数据。 但是(以我的经验)更常见的是,内存消耗不受无赖(可能是错误的)过程的限制。就是说,我不仅要交换一些不那么急需的数据,而且操作系统不得不紧急交换数据负载。不幸的是,这不仅严重破坏了令人讨厌的过程,而且可能使整个系统陷入停顿(在装有SSD的计算机上,情况已经不再那么糟糕了,但是OTOH让我担心是否要写入数千兆字节的垃圾数据)。长期损害闪存)。直到我发现问题并手动终止进程(实际上甚至要花几分钟才能让我自己登录到虚拟终端!),我一半的运行会话仍处于交换状态,我需要等待相当长的一段时间,直到系统运行平稳再次。 解决这个问题的方法很简单:强制执行硬内存限制。但是在整个系统范围内进行操作有时会杀死我本来仍然需要的进程,如果ulimit在启动有问题的进程之前必须手动进行操作……那么,我常常会忘记直到为时已晚。 我可能更喜欢的解决方案: 如果有任何进程超出了一定的内存使用量,则会人为地限制它,以便系统的其余部分保持响应。 如果有任何进程超出了一定的内存使用量,那么它将被SIGSTOPping,因此我有时间弄清楚下一步该怎么做。 如果进程接近RAM限制,那么在进行大容量交换之前,我会收到警告。 有什么办法可以得到这样的行为,或者类似的?
10 linux  memory  swap 

4
可以在应用程序级别禁用交换吗?
我目前正在将gnupg与雷鸟一起使用,以读取加密的电子邮件。如果我正确理解了交换行为,则包含交换后的电子邮件的内存页可能会交换出去,并在硬盘上留下痕迹,理论上可以稍后对其进行取证。 虽然当然可以在使用敏感文件的过程中仅使用加密的交换文件或全局禁用交换,但这会影响性能,可能会被忘记并需要root特权。 是否可以将某些文件或程序标记为不可交换?即使没有root访问权限?能否编写一个可以分发给技术上天真的用户并且其内存内容永远不会交换到磁盘的应用程序?
10 encryption  swap 

3
在Debian上动态增长交换文件
我知道如何创建交换文件并将其用作交换文件。但是我必须事先配置文件的大小,如果不使用交换,则要在磁盘上使用空间。 如何创建初始大小为0并按需增长的交换?
10 linux  swap 

2
“ sw”在“挂载选项”列的fstab交换条目中的含义
在我的/ etc / fstab文件中,我的交换项如下: /root/swap swap swap sw 0 0 我有其他机器,并且在网上也看到过,有时它们会放置default或xfs或其他选项。然后,我对“ sw”的含义和用途以及在其中放置的最佳选择以及原因感到有些困惑。
10 fstab  swap 


1
“读取交换头失败:成功”是什么意思?
我正在尝试安装Arch Linux(从2014-04-01快照)。我已经制作了一个交换文件并尝试使用swapon它,但是收到了一条我不理解的错误(?)消息。 我已经执行了 fallocate -l 512M /mnt/sda2/swapfile chmod 600 /mnt/sda2/swapfile swapon /mnt/sda2/swapfile 输出是 swapon: /mnt/sda2/swapfile: read swap header failed: Success 我:(在命令行末尾。那么成功还是失败?这不是如何设置交换文件吗?

2
没有交换分区的情况下如何交换硬盘?
我的磁盘上没有交换分区,因为我更喜欢让OOM收割机迅速杀死它想要的任何东西,而不是不得不等待10分钟让我的交换分区被填充+另外5分钟才能启动OOM收割机+崩溃。基本上,我的问题是: 发射eat_all_my_memory; 在系统无响应的情况下等待10分钟(HDD LED始终点亮); 同时,尝试切换到TTY; 等待几分钟以实际切换; 输入用户名和密码; 等待几分钟 登录; 由于OOM收割机而注销; 从5开始重复,直到起作用为止; 使用top并看到a kworker是“有效的”; 再次被杀 从收割者那里收到一条消息,说已eat_all_my_memory被杀死; 内存已释放。 上次花了12分钟。我尝试登录TTY的尝试似乎对整个周期时间没有影响。然后我有几个问题: 为什么我的系统什至在磁盘上写任何东西?没有交换!!! 它写在哪里? 仍然没有办法告诉OOM杀手杀死最大的用户进程或在最短的时间内消耗掉大部分内存的进程。到那时,是否有某种方法可以使OOM杀手仅执行工作而不尝试对磁盘做任何事情? 我遇到了Debian,Ubuntu和现在的Archlinux的问题,因此这似乎不是发行版特定的。 编辑:日志文件的摘录 我在15:28左右启动了令人反感的命令。看来系统实际上要花费很多时间才能弄清没有剩余的东西。 déc. 11 15:28:56 hostname dbus[475]: [system] Failed to activate service 'org.freedesktop.ModemManager1': timed out déc. 11 15:29:40 hostname dbus[475]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.ModemManager1.service': Unit …

5
交换使用率太高?
我有一个Debian Sid盒子,大约一个月前刚刚安装,目前没有任何桌面应用程序在运行。 我尝试运行的任何命令(通过ssh)都会使硬盘工作非常困难。该系统在几周前运行Ubuntu 8.04时完美运行。硬件应该没问题,智能工具没有问题,也没有内存检查等。 我怀疑问题与交换有关: $ free -h total used free shared buffers cached Mem: 998M 986M 12M 0B 464K 904M -/+ buffers/cache: 81M 917M Swap: 511M 511M 0B 测试的东西,我看到即使大多数物理内存都用于缓存,也无法在不重新启动的情况下禁用交换: # swapoff -a swapoff: /swapfile: swapoff failed: Cannot allocate memory 当运行此stackoverflow答案中提到的脚本时,最高的交换使用过程仅使用1.5兆位,而总计数为: "Overall swap used: 18376 kB" ...这远远没有达到停止或免费报告的半场演出。 我尝试将其更改swappiness为1半个月前,但是没有区别(相同的内存使用模式)。 知道是什么罪魁祸首吗? 编辑:这是/proc/meminfo内容(类似的情况,但是702meg的缓存而不是904,并且铬仍然打开): …
9 linux  debian  memory  swap 

2
Cleancache与Zram?
我这里有一台旧笔记本电脑,只有512 MB RAM。由于有几个内核版本,我正在使用zram将其中的256 MB转换为压缩的ramdisk,然后将其用作交换。事实证明,这非常成功,并且系统的响应速度更快,(硬盘支持的)交换使用率大大降低,从而降低了系统的运行速度。 从linux 3.0开始,内核还包含cleancache,它使用zram之类的后端作为后端,可以透明地压缩页面缓存中的页面。据我所知,这与zram不同。 我应该在笔记本电脑上同时启用两者吗?还是cleancache实际上取代了zram解决方案? 编辑:我已经找到了这个gentoo论坛链接,似乎还必须启用CONFIG_ZCACHE它,然后使cleancache使用zram来获取类似于我以前的内容。因此,似乎我启用了所有这些功能,之后不再显式使用zram。有人可以确认吗?
9 linux  kernel  swap  cache  zram 

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

3
为什么缓存交换有意义?
对我来说,缓存换出的页面听起来适得其反。如果交换页面,首先将它们缓存在内存中,而不必将它们移到正确的位置有什么好处?即使主动调换页面,“仅仅”调换页面是否更有意义?实际上,缓存交换只是浪费资源吗?

2
交换似乎没有使用[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 2年前关闭。 (我目前正在使用Ubuntu 14.04 LTS,GNOME环境) tl; dr如何强制进行更多的内存交换(Swapiness已经为100)? 我最近经历了很多系统冻结/崩溃。通常在访问繁忙的网站时。我已经在tty上加载了htop,已经发生了太多事情,所以我可以切换到它并终止我的浏览器(因为GUI没有响应)。但是,有时我需要使用REISUB。 我认为GNOME可能比Unity更好,因为我的Debian系统没有问题,而且确实做到了,但是我的内存仍然很高,并且死机了。 我看了一下free -m今天,发现我的交换显示已使用0。输出: total used free shared buffers cached Mem: 1821 1673 148 221 40 643 -/+ buffers/cache: 989 832 Swap: 1933 0 1933 我暂时交换为100(sudo sysctl vm.swappiness=100)。结果仍然是相同的(即使运行到接近最大系统内存使用量,也将使用0)。 我看着这个答案: 如何查看系统是否正在交换? 不幸的是,在我撰写本文时,我的系统进行了更新,并且我的软件包已锁定,因此我无法安装this(sar),也不确定要包含哪个软件包才能提供另一个输出。 我已经查看了fstab,并且交换分区已正确使用。 # swap was on /dev/sda3 during …
9 memory  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.