现在为新安装创建交换分区是否有意义?


24

对于在新的闪亮笔记本电脑(例如16gb ram和ssd hd)中进行桌面安装,设置交换分区是否有意义?


在笔记本电脑上,我有8GB RAM(将2GB内存分配给tmpfs)。没有交换,我很好,直到我启动了几台VM或在Chromium中打开了数百个选项卡。这只有在我粗心的时候才会发生。您应该可以使用16 GB的RAM并且没有任何交换。
罗伯W

Answers:


15

是的,您需要交换,如果仅将其用于挂起和次要交换操作,则磁盘上某个位置的交换文件可能会很好,而且我使用交换文件已经有将近一年了,从来没有遇到过问题,只是不喜欢分区磁盘。

只需将以下行复制粘贴到终端中,它将创建2 GB的交换空间。首先成为root:

sudo su

然后复制并粘贴以下内容(一如既往,请确保您了解要在终端上粘贴的内容):

mkdir /swap && \
cd /swap && \
fallocate -l 2g 2GB.swap && \
mkswap 2GB.swap && \
swapon 2GB.swap && \
echo "# # # Swap File # # #" >> /etc/fstab && \
echo "/swap/2GB.swap none swap sw 0 0" >> /etc/fstab && \
mount -a

交换(分区文件)以提高性能

下侧

您无法休眠以交换文件,如@Takkat所述,我已经检查过,并且我有生以来第一次尝试休眠,但是它不起作用,因此如果您要休眠,则需要交换分区,否则,如果交换文件对走。

休眠与暂停


((((suspend)))))
卡西姆

我从来没有冬眠,总是挂起,所以我想我会根据您的建议来交换文件。可能只是我可以使用所有可用ram的时间的脚本
Frey Olake,

我可以在没有交换分区或交换文件的情况下挂起。
克里斯·哈珀

@KrisHarper是的,您可以.... howtogeek.com/113923/how-to-re-en-enable-hibernate-in-ubuntu-12.04交换一些东西是很好的。–
Qasim

我是说,如果您只是使用suspend,我认为您不需要交换文件或交换空间。您肯定需要它才能进入休眠状态,但是没有它我也可以使用suspend。
克里斯·哈珀

12

如果要休眠,则可以,必须有一个至少与总RAM一样大的交换分区。

除此之外,如果您有16GB的RAM,那么原则上可能没有-我见过有人说1GB的内存无需交换就可以运行,尽管我想这会归结为很多人的看法。就我而言,我正在运行一台具有8GB RAM的笔记本电脑,并且出于休眠目的具有相同大小的交换空间(其副作用是,如果我的工作变得特别耗费内存,它会提供缓冲区,这有时可以做到)


4
即使在我的12GB机器上,我也总是至少保留一些交换。在任何情况下都不建议仅在内存上运行。而且,当您的内存使用率达到99%并即将发生内核恐慌时,您会很高兴地节省了一些交换工作:p(更重要的是,这对于调出处于待机状态的程序很有用,从而为您提供更多的工作内存交换硬盘空间总是一件好事)
Thomas

3

这是理论问题还是实际问题?

实际上,几乎没有理由避免交换分区,因为磁盘空间既便宜又充足(特别是在闪亮的新笔记本电脑上)。

在纸上,似乎永远不会用完16GB的内存。考虑以下情况:

  • 某些程序(例如,视频编辑器,LibreOffice)在启动进行初始化时会使用大量页面,然后不再使用
  • 不可预见的情况:程序发疯,叉子炸弹

现在考虑它们同时发生。当发生不可预测的事件时,交换分区将用作缓冲区,在系统崩溃之前为您节省一些时间以节省工作,等等。

特别是因为有了笔记本电脑,冬眠会节省您的皮肤。也许您会离开计算机休息一下,但是出现了一些情况,您却在一小时后返回。如果您的电池快要死了,那么休眠将保护您未保存的工作。


0

好吧,一年多来我没有分区我的固态硬盘,也没有交换文件。我在两个不同的笔记本中都使用了相同的SSD(512 GB)。较旧的具有8GB RAM,较新的具有16GB RAM。我将RAM用于临时文件和Firefox缓存,并使用8 GB内存,有时会注意到在使用grsync同步大文件时系统变慢。现在有了16 GB RAM(也许还有更新的Ubuntu 13.04版本),我还没有遇到任何问题。我也相信分区对SSD不利,是浪费昂贵存储的一种方式。因此,仅凭我在SSD / 16GB RAM方面的经验可以说:有了这个星座,我肯定不会使用SWAP,即使使用8GB RAM,我也可以。休眠一直是越野车,待机速度更快


0

您可以改为制作交换文件并使其休眠,我已经在笔记本电脑上制作了交换文件,因此可以使我的每个Linux安装都休眠。否则,如果我使用一个交换分区,则休眠只会覆盖最后的休眠。这是我的方法。注意,您必须使用内核方法休眠:echo disk> / sys / power / state

sudo -s 
fallocate -l 4000m /swap_file  #4000 mb, may want higher than 4000mb
swapoff -a

mkswap /swap_file

nano /etc/fstab
#delete previous swap entry then add
/swap_file   swap    swap    defaults        0       0
#then save and exit

swap-offset /swap_file  #remember the output of this
nano /etc/grub.d/40_custom
add to linux line:    resume=<partition swapfile is on> resume_offset=<swap-offset return data>

swapon -a
nano /home/name/bin/hibernate_shutdown
#!/bin/bash
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

create shortcut. system-settings->keyboard->shortcuts->custom shortcuts  add
gnomesu /home/name/bin/hibernate_shutdown
set to F11
chmod +x /home/name/bin/hibernate_shutdown
restart computer

中提琴,如果您想在休眠后重启而不是关机

echo reboot > /sys/power/disk
echo disk > /sys/power/state
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.