128GB SSD和23GB睡眠映像+交换文件,该怎么办?


14

所以我有一个13“的Macbook Air,容量为128GB,最近我收到一条消息,表明我空间不足,所以我做了一个快速检查以了解什么占用了所有空间,我发现了我有4GB的睡眠映像(正常),但是有20个交换文件,每个交换文件从60mb到1gb。如果磁盘空间很小,这确实是不可接受的,所以我想知道删除一些交换文件是否安全吗并让系统建立它们;或者提供重新启动帮助(尽管我不愿意,和我的朋友打赌,要让我的正常运行时间尽可能长:p)任何建议都值得赞赏。


某些东西会泄漏内存-您也许可以使用此信息来找出原因。quora.com/…– Danack
2013年

好吧,如果窗口服务器占用了4GB的虚拟内存呢?而且我认为您无法真正解决其他应用程序中的内存泄漏问题。.猜猜我得重启它,谢谢。
theAmateurProgrammer13年

Answers:


13

您可以禁用Hibernate以重新获得SSD / HD上RAM的大小:首先禁用它:

sudo pmset -a hibernatemode 0

然后释放空间:

sudo rm /var/vm/sleepimage

...如果您想再次启用它:

sudo pmset -a hibernatemode 3

注意: -a表示在充电器和电池上,-b表示电池,-c表示带有充电器。

或者,如果您有多个磁盘,则可以将sleepimage符号链接到HD,以便它可以物理定位在那里。

交换

首先禁用交换:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

以后删除文件:

sudo rm /private/var/vm/swapfile*

...如果要再次启用它,请执行以下操作:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

虽然在山狮山下,睡眠图像又回来了
2013年

不知道山狮不听从。
liv3010m 2013年

1
在El Capitan下,新的系统完整性保护不允许尝试清除交换。/System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged
伦萨斯

2

重新启动将最终解决该问题。

即使您终止了令人讨厌的进程,系统也不会清除交换文件-您需要重新启动才能这样做。

另外,删除交换文件将是一个坏主意。您将需要sudo来执行此操作,并且即使系统已打开文件,即使您对文件进行了rm处理,由于文件句柄将被打开,它仍将保留,因此您将无法获得空间。

一定要尝试一下,但是不推荐:)


1
如果进程被杀死,OSX将清除交换文件。
2013年

0

另一个答案已经提到禁用休眠模式,但按照手册页pmset,这是远远不够的禁用休眠映像(sleepimage)文件创建。

医生说,

要完全禁用休眠映像,请确保将休眠模式待机和自动关闭电源都设置为0。

因此,我们需要:

sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

您可以使用来验证更改前后的设置sudo pmset -g。然后,您可以sudo rm /var/vm/sleepimage删除文件,但是在我的情况下,这是在设置所有3个值之后自动完成的。


-2

您可以删除sleepimage而不会损坏任何东西。系统将随着时间重新创建它。通常,当我收到一条消息,说我空间不足时,我只需要去终端输入,sudo rm /var/vm/sleepimage然后我会收到大约9个演出,但是系统会随着时间的推移重新构建它,所以这只是暂时的延缓。

要结束回答您的问题并告诉您为什么要信任我,您可以删除其中的每个文件,var/vm因为它们是当前存储在RAM中的内容的缓存。它们并不重要...除非您断电,并且在重新启动后,大多数var文件夹会自动清除。但是,为了向用户提供其可用空间的稳定报告,OS X Lion和更新版本不会vm在启动时删除较旧的文件。

基本上,您将始终拥有与运行程序所使用的RAM大小大致相等的VM文件。您可以删除它们,并且在下一个重要的后台活动事件发生时,计算机可能会重新创建它们。如果您只运行一个程序,却什么也不做,但是拥有巨大的VM文件,则可能是程序内存泄漏的迹象,但是我注意到菜单栏上的很多首选项面板和插件确实是巨大的内存消耗:如果您运行Google Drive Synchronizer程序,Dropbox应用程序和box.com应用程序,则这些应用程序将以24/7全天候通话,并不停地移动文件。它们是足以生成合法且庞大的VM配置文件的活动。

希望有帮助!


谢谢!这很有趣,因为我的所有应用程序都崩溃了,因为我的笔记本电脑没有100 mb可用空间,但是2分钟后我有8 GB可用空间。将首先进行备份,然后尝试删除交换文件。
theAmateurProgrammer13年

2
交换文件包含当前不在实存储器中使用的数据,但是当需要该数据时,它将被交换回实存储器。交换文件不应删除,它们不是将要重新创建的缓存/
user151019 2013年
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.