Questions tagged «swap»

Linux将其物理RAM(随机访问内存)划分为称为页面的内存块。交换是将一页内存复制到硬盘上预先配置的空间(称为交换空间)以释放该页内存的过程。物理内存(RAM)和交换空间的组合大小是可用的虚拟内存量。Linux有两种形式的交换空间:交换分区和交换文件。

3
如何在具有临时存储的Amazon EC2上创建交换分区?
这是输出df -k: Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 10317860 7059008 2734732 73% / none 847584 0 847584 0% /dev/shm /dev/xvdb 153899044 192068 145889352 1% /mnt/ephemeral 我正在使用Centos EBS引导映像。 我已经阅读了有关此问题的各种问题,但它们告诉您安装新驱动器。但是我认为该驱动器已经安装在/dev/xvdb。我对么? 我可以使用这个吗: mkswap -f /dev/xvdb #add in /etc/fstab /dev/xvdb swap swap defaults 0 0 swapon /dev/xvdb 能行吗

3
使用tmpfs +一个非常大的/ tmp交换分区而不是常规文件系统?
我有Linux服务器,并且有一个备用500GB磁盘分区。我想格式化它并将其用于/ tmp。服务器偶尔会执行一些大型数据处理任务,因此/ tmp可能会保留GB的临时数据。 然后我有了一个主意,可以改为将其添加为交换分区,然后将/ tmp挂载到tmpfs。这个想法合理吗? 服务器具有6GB的RAM,因此在大多数情况下,/ tmp上的数据仅在RAM中,具有明显的速度优势。问题是,如果说/ tmp上有10-20GB的数据,系统将如何执行?与仅将/ tmp挂载到ext4分区相比,性能如何?感谢帮助。 编辑:很明显,当tmpfs的使用达到RAM限制时,系统将开始换出内存。但是Linux是否足够聪明,可以交换tmpfs数据并将“常规”数据保留在RAM中?如果是,那么我认为它的行为可能合理。否则,整个系统将受到严重影响。
8 linux  swap  tmp  tmpfs 

1
在运行的Linux机器上创建交换文件
由于托管公司计划淘汰不太可靠的共享托管服务器,因此我们公司的网站刚刚从共享主机迁移到VDS。 VDS仅具有256MB的RAM,并承载几个站点,除了一个站点以外,其他所有站点都是非常简单的静态站点,只有几页,并且每天总共接待不到20-30位访问者。 我们的主站点运行某种程度上是OSCommerce的定制版本,该站点的流量也很少(很少有10个以上的并发用户),但确实需要MySQL。不幸的是,由于移动mysqld由于内存不足而不断崩溃。我已经对Apache配置进行了一些编辑(以减少线程数)以减轻负载,但这只是回避了实际问题。 服务器没有交换空间,但是它确实比我们需要的磁盘空间大得多,因此我正在考虑将其中一些空间用于交换。我知道这并不能完全提高性能,但是我们可以接受。 如何在服务器运行时创建交换文件并启用它?操作系统是CentOS 5.5(最终版),而Linux不是我的母语。 更新:对于任何可能对结果感到疑惑的人,由于实现了Quanta所描述的交换文件,服务器不仅稳定,而且没有mysqld崩溃,它实际上比以前更快地处理页面。性能上的提高与我的预期相反,但我很高兴在这种情况下犯错了。
8 centos5  swap  vds 

4
如何在Debian上创建一个随机密钥,加密的交换分区,将其称为“ by-uuid”?
明智的做法是,如果在GNU / Linux系统上实现了任何类型的块设备加密,也要对交换分区进行加密,因为任何解密的数据都可以随时以明文形式写入交换。 在debian手册页上查看“ crypttab”,我看到了一个在启动时创建随机密钥交换分区的示例,因此随着引导的进行,密钥是随机设置的,并且只有系统本身知道: # Encrypted swap device cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap 在此示例中,交换设备由常规dev路径引用,即 /dev/sda6 例如,如果插入了USB驱动器,则绝对设备路径可能会更改,并在启动时重新分配。如果用户/dev/sda6碰巧是一个与预期不同的分区,并且随后被随机交换数据覆盖,则用户将非常不高兴! 因此,解决方案似乎是:使用UUID代替设备路径(因为UUID不应更改),替换/dev/sda6为/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is> 但是……这就是问题所在:每次cryptsetup在引导时重新创建加密的交换分区时,都会为其生成一个新的UUID!h! 因此,我们需要以某种方式保留此加密文件系统的UUID。我认为cryptsetup可以通过其--offset开关来做到这一点,从而允许保留LUKS标头和UUID。 我找到了以下URL:https : //wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions 有谁知道如何在Debian OS上实现针对Arch Linux所述的解决方案?该文档中引用的初始化脚本似乎在Debian OS上不存在 谢谢! 编辑 一个人可以使用以下命令使用ecryptfs达到相同的目的(加密的交换空间): ecryptfs-setup-swap 避免困扰设备加密的问题。看看这个AskUbuntu查询


1
强制用户在某些内存使用之后使用交换空间(使用limits.conf?)
我有一个后端应用程序,供托管在我们服务器上的开发人员在内部使用,但是不幸的是,该应用程序需要使用Passenger和Ruby,这两者都占用大量内存。 我有一个SSD交换文件,应该可以为我们的使用提供合理的性能,并且我想强制此应用使用交换空间,并为我们的前端应用打开RAM。 所以问题是,是否有一种方法可以强制进程/用户(该进程在特定用户下运行)尽可能多地使用交换空间?我认为limits.conf也许可以,但是我不希望它发出“内存不足”错误,只需切换到swapfile。
2 linux  ubuntu  swap  ulimit 
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.