Questions tagged «swap»

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

5
更改交换性是否需要重新启动?
如果我将swappiness值配置为另一个值,例如从60到0,那么我总是需要重新引导计算机以使更改生效?即使使用以下命令进行修改: sysctl -w vm.swappiness=0
14 swap 

1
swapon:不允许操作
显然,我以root用户身份运行。 我/swap/sw1通过将512兆的文件转储/dev/zero到其中,从而创建了一个名为的文件。然后我跑了mkswap,说: Setting up swapspace version 1, size = 524284 KiB no label, UUID=f071fec6-0589-443f-9d46-1c126636418b 我假设这意味着它工作正常。我将文件更改为0600,该文件归root拥有。然后我运行了swapon: $ swapon -v /swap/sw1 swapon on /swap/sw1 swapon: /swap/sw1: Operation not permitted 我也尝试将其添加到fstab并调用swapon -a -v,但是出现相同的问题。为什么不允许将此文件用作交换文件? 我认为这没什么关系,但我可能错了-我正在OpenVZ VM上运行。
14 ubuntu  swap 

4
Linux如何知道其交换分区在哪里?
我读到您需要将交换分区放在HDD而不是SSD上。 我的问题如下: 分发(或其他方式)何时以及如何进行“检查”以找到其Swap分区? 它在启动期间发生吗? 它只是检查所有可用磁盘并搜索带有“ swap”标志的分区? 如果有几个这样的分区会怎样? 另外,如果我在同一张磁盘上运行例如两个不同的发行版,例如Fedora和Ubuntu,我需要有几个交换分区?
13 boot  swap  ssd 

3
使用zram时vm.swappiness的适当值是多少?
我在计算机上将zram用作支持RAM的压缩交换。当系统需要交换某些内容时,将其交换到zram支持的交换文件中或多或少等同于在内存中压缩该数据以释放空间。相对于磁盘支持的交换,这使得交换在大多数情况下都非常快。因此,我想知道是否可以通过鼓励系统更积极地交换未使用的东西来获得某些性能,因为它可以这样做而不实际打磁盘? 那么有没有人vm.swappiness在使用zram时搞乱设置为100?这是可取的吗? sysctl -w vm.swappiness=100

1
如何找到交换uuid
我正在进行突袭。sda在安装过程中使用,我刚才复制的分区表sda来sdb像这样: $ sudo sfdisk -dL /dev/sda > partition_table_sda $ sudo sfdisk /dev/sdb < partition_table_sda 但是,我注意到它sda具有用于swapspace的uuid,但sdb没有: $ sudo blkid /dev/sda5: UUID="vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz" TYPE="swap" /dev/sda1: UUID="vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz" TYPE="ext4" /dev/sdb1: UUID="vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz" TYPE="ext4" 尽管该分区看起来正确,但是只是缺少了uuid: $ sudo fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors …
13 partition  swap  uuid 

1
如何使tmpfs仅使用物理RAM而不使用交换?
如何确保tmpfs文件系统只能处理物理文件,而不使用磁盘上的交换分区? 由于我的硬盘驱动器速度慢而RAM速度快,因此我至少希望为相关安装点的RAM使用swap和/ tmpfs或禁用其磁盘使用分配更高的优先级tmpfs。
12 swap  ram  tmpfs 

4
在哪里放置交换空间,开始或结束位置以及其他交换问题
我应该把我的掉期放在哪里?Debian安装提供两种选择:(1)在磁盘空间的末尾或(2)在磁盘空间的开始。什么是最佳? 给定计算机具有512Mb RAM的最佳交换量是多少?我应该有多个交换吗? 我应该将交换空间定义为逻辑分区还是主分区? 我正在40 GB磁盘上安装测试32位的Debian 6。
12 swap 

1
当计算机进入休眠状态时,交换数据将如何处理?
当计算机进入休眠模式时,它会将RAM的内容保存到交换空间中,以便它可以在重新开机时准确地恢复到中断处。 因此,如果您当前使用的内存多于RAM,该怎么办。在这种情况下,某些原本在RAM中的数据将被保存以进行交换。 一个例子。一台计算机具有1GB的RAM和1GB的交换空间。它目前正在使用100MB RAM和500MB交换空间。因此,需要记住大约1.4GB的内存来保存其状态。但是,交换空间仅为1GB。 在这种情况下会发生什么? ~~编辑~~ 如下所述,休眠失败。接下来是一个后续问题: 如果失败,将在哪里报告错误?
12 swap  hibernate 

1
Zswap,Zram,Zcache桌面使用方案
我一直在尝试了解Zswap,Zram和Zcache 用例的差异。对于冗长/草率措词的问题,我们事先表示歉意。我已经做了很多谷歌搜索,而且我了解zram基本上是用于压缩交换的块设备,而zswap使用frontswap api在内核中进行压缩。zswap的一个优点似乎是,当处于LRU方式的压力下时,zswap可以将某些页面移至后备交换,而zram不能这样做(请确认,不确定这是否成立)。 所以这是我的问题:1.)作为桌面用户,zcache / zswap / zram(尤其是zswap和zram)之间的性能差异是什么?例如,内存碎片(导致过多的内存使用和浪费的一种)是否更好/更糟? 额外的问题:2.)是否有上述方法(例如zram + zswap或zram + zcache)的理想组合,可以提高台式机性能(包括台式机的响应能力,以及最小的破坏性交换行为和合理的内存管理)? *非常感谢引用源。 我应该补充一点,我是一个经验丰富的Linux用户(5年),并且尝试过真正了解我的系统(包括内核)如何工作。但是,我不是程序员,只有非常基础的编程知识(3学分的大学课程)。但是,如果需要,请保持技术性;我会按自己的时间解析您的意思。 系统规格: Linux Mint 15 Processor:Core 2 Quad 6600 (2.4ghz) Ram: 8G linux kernel: liquorix 3.11 series Storage: 128 GB SSD, 1TB HDD 5400rpm 请没有“购买更多的ram”评论!我已经在此主板上达到了最大的内存,并且在可预见的将来有$ 0的升级预算。但是,我喜欢保留开放式内存密集型程序(多个浏览器是我的ram的主要使用者),因此我不介意在合理的性能下降范围内进行交换。

4
静默磁盘错误和Linux交换的可靠性
我的理解是,硬盘驱动器和SSD会在驱动器内部实现一些基本的错误纠正,而大多数RAID配置(例如mdadm)将依赖于此来决定何时驱动器无法纠正错误并需要脱机。但是,这取决于存储的错误诊断准确率100%。事实并非如此,并且像两个驱动器的RAID-1镜像这样的常见配置将很容易受到攻击:假设一个驱动器上的某些位被静默损坏,并且该驱动器未报告读取错误。因此,诸如btrfs和ZFS之类的文件系统将实现其自己的校验和,以便不信任有故障的驱动器固件,故障SATA电缆等。 同样,RAM也可能存在可靠性问题,因此我们拥有ECC RAM来解决此问题。 我的问题是:如何保护Linux交换文件免受两磁盘配置(即,使用主线内核驱动程序)上的驱动器固件捕获的静默破坏/位腐的静默破坏/位腐烂?在我看来,此处缺少端到端保护的配置(例如btrfs提供的配置)在某种程度上抵消了ECC RAM带来的省心。但是我想不出一个好方法: btrfs根本不支持交换文件。您可以从btrfs文件设置一个循环设备,然后在该设备上进行交换。但这有问题: 随机写入效果不佳:https://btrfs.wiki.kernel.org/index.php/Gotchas#Fragmentation 关于禁用写时复制的建议也将禁用校验和-从而破坏了本练习的重点。他们的假设是数据文件具有自己的内部保护。 ZFS Linux上允许使用ZVOL作为交换,我想可以工作:http://zfsonlinux.org/faq.html#CanIUseaZVOLforSwap -然而,从我读书,ZFS通常苛刻的内存,并得到它的交换工作-仅应用程序听起来像一些工作来解决它。我认为这不是我的首选。为什么要为了可靠的交换而不得不使用树外内核模块,这超出了我的范围-在当今时代,对于大多数现代Linux发行版/内核,肯定有一种方法可以做到这一点? 有其实用的补丁,使内存管理器本身的校验,对于正是我在这个问题上讨论的原因,一个Linux内核邮件列表上的螺纹: http://thread.gmane.org/gmane.linux.kernel/989246 -不幸的是,据我所知,该补丁死了,并且从未出于我不知道的原因将其发布到上游。太糟糕了,听起来像是一个不错的功能。另一方面,如果将交换放在RAID-1上-如果损坏超出了校验和的修复能力,则希望内存管理器在出现紧急情况或其他原因之前尝试从其他驱动器读取数据。可能超出了内存管理器应做的工作范围。 综上所述: RAM具有ECC纠正错误 永久存储中的文件具有btrfs来更正错误 掉期有??? <---这是我的问题



1
如何创建交换文件?
我知道如何创建和使用交换分区,但是我也可以使用文件代替吗? 如何在Linux系统上创建交换文件?
11 linux  swap 

2
流程“时间”停止在最前面的确切含义是什么?
我将研究为什么我们会收到严重的掉期警报,并且会发现类似以下内容: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND 14683 user1 30 10 16.0g 772m 744 S 0.3 0.3 277:24.87 6.5g MATLAB 14576 user1 30 10 8125m 1.1g 736 S 0.3 0.4 261:16.73 4.1g MATLAB 这些进程的TIME +列被冻结。 我的问题是,在上面,这意味着什么? 据我了解,停止时间意味着这是一个休眠进程/未被CPU处理。但是,上面的示例显示了0.3%的CPU使用率,因此尽管事实非常小,但时间列是否应该继续增加? 这些过程是否“完成”了?在这种情况下,如何清理它们?启动它们的用户是否需要确认它们或要释放这些资源的某些东西?
11 process  cpu  swap  top  htop 

1
将tmpfs增加到大于物理内存的安全性如何?
我的服务器有2GB RAM和120GB SSD,以及一些RAID阵列用于存储。操作系统是Debian 8(Linux 3.16)。 我有一个MySQL密集型应用程序,它具有tmpdir= /run/mysqld,tmpfs由Debian通过/etc/default/tmpfs以下命令配置: # Size limits. Please see tmpfs(5) for details on how to configure # tmpfs size limits. TMPFS_SIZE=40%VM 以前是20%VM,大约为384M。我遇到了几个no space left on device,所以我将其增加到40%VM,但是即使有大约763M,它仍然太小。 现在,我现在应该添加更多的RAM,但是出于好奇,我想知道这里的限制。 /dev/sdd1上安装/有大约50GB的可用空间,并且速度相当快(三星850 EVO SSD) /dev/sdd5 是我的交换分区,它是3.7G(fdisk类型ID为82) TMPFS_SIZE设置为40%VM,表示/run为763M 现在我知道tmpfs可以交换了,这对我来说很好。我希望MySQL尽可能写入RAM,但是如果需要更多内存,我可以允许系统在SSD上交换它。 因此,通过我的设置,我可以将/run其设置为: 300M大吗?是。这是默认设置。 1.5GB大?是的,尝试过,MySQL占用了高达1.3GB的存储空间,并且该系统运行正常。但这还不到物理内存+交换分区的一半。 2.5GB大?这不只是物理内存,而是少于物理内存+我的交换分区的一半。 4GB大?这将完全适合一半的物理+交换 更多?像10GB?它可以利用可用空间/交换更多吗? 我猜测安全的经验法则是TMPFS_SIZE不要大于swap +一半的物理内存。我可以在不增加交换分区的情况下超越此范围吗? 另外,可以放进200%VM去/etc/default/tmpfs吗?我读过的书tmpfs(5)不知道我是否可以在这上面投入100%以上的费用。 最后,我应该改/etc/fstab而别碰/etc/default/tmpfs吗? (据了解,我仅使用来完成此操作mount -o remount,但尚未重启服务器) …
11 linux  swap  tmpfs 

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.