Questions tagged «swap»

交换空间是RAM的虚拟内存。当RAM量已满时使用。交换空间可以是专用交换分区,交换文件,也可以是交换分区和交换文件的组合。

12
我应该将交换文件保存在SSD驱动器上吗?
我正在考虑让SSD驱动器作为主要的OS分区运行。据我了解,这将大大提高性能。 我的问题是: 我应该将交换文件留在该驱动器上吗? 交换分区将主要​​是随机查找,因此应从速度中受益。另一方面,将不断写入该内容,这将使驱动器更快地磨损。
83 windows  ssd  swap 

5
当仍有“非活动”内存时,如何禁止Mac OS X使用交换功能?
在OS X的日常使用中(根据互联网上各种帖子的说法,这是一种常见现象),只要没有“可用”内存可用,该系统就会变慢。据推测,这是由于交换引起的,因为明显有大量磁盘活动,并且vm_stat报告了许多页面输出。(纠正我的错误) 但是,交换开始/发生/结束时,“非活动”内存的数量通常约为所有可用内存的12.5%-25%(^ 1。)。 根据http://support.apple.com/kb/ht1342: 无效的内存 内存中的该信息并未得到积极使用,但是最近才被使用。 例如,如果您一直在使用Mail,然后退出它,则Mail所使用的RAM被标记为非活动内存。此闲置内存可供其他应用程序使用,就像可用内存一样。但是,如果在其他应用程序使用其非活动内存之前打开邮件,则Mail将打开得更快,因为其非活动内存已转换为活动内存,而不是从速度较慢的硬盘加载邮件。 并且根据http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html进行: 非活动列表包含当前驻留在物理内存中但最近未访问过的页面。这些页面包含有效数据,但可以随时从内存中释放。 因此,基本上:程序退出后,其内存将被标记为“不活动”,并且应随时可以声明。尽管如此,每当“可用”内存变低时,OS X仍希望开始将内存换出到Swap文件中,而不是仅声明该内存。 为什么?比起立即释放不活动的内存甚至不触摸交换文件,此行为的优点是什么?一些消息来源(^ 2。)表示OS X会在释放它之前调出“非活动”内存以进行交换,但是如果现在可以随时从内存中释放内存,那现在变得没有意义了吗?交换很昂贵,发布很便宜,对吧? 可以使用某些首选项或已知的技巧来更改此行为吗?(最好不要完全禁用swap / dynamic_pager并重新启动...) 我确实感谢purge命令以及修复磁盘权限以强制使用一些可用内存的概念,但是与真正解决交换/释放决策逻辑相比,这是痛苦地强制使用更多可用内存的方法... 顺便说一句类似的问题在这里问:http://forums.macnn.com/90/mac-os-x/434650/why-does-os-x-swap-when/这里:HTTP://hintsforums.macworld .com / showthread.php?t = 87688,但是即使OP重新提出了核心问题,也没有任何答复能解决该问题的答案... ^ 1。更新2012年3月17日自从我第一次发布此问题以来,我的内存已从4gb变为8gb,问题仍然存在。以前,“非活动” ram的数量为0.5gb-1.0gb,现在在交换开始/发生/结束时通常约为1.0-2.0GB,即osx似乎将大约12.5%-25%的ram保留为“非活动”内核逻辑。 ^ 2。例如https://apple.stackexchange.com/questions/4288/what-does-it-mean-if-i-have-lots-of-inactive-memory-at-the-end-of-a-work-日: 一旦使用完所有内存(可用内存为0),操作系统就会将非活动内存写出到交换文件中,以在活动内存中留出更多空间。 更新2012年3月17日 这是到目前为止建议的一些方法的综述: 所述吹扫命令 “用于通过冷盘缓冲区高速缓存来近似初始启动条件以进行性能分析。它不会影响通过malloc,vm_allocate等分配的匿名内存。” 这对于防止osx换出磁盘缓存很有用(这很荒谬,osx实际上是这样做的),但缺点是释放了磁盘缓存,这意味着如果磁盘缓存不打算换出后,最终只会得到一个冷盘缓冲区高速缓存,可能会对性能产生负面影响。 该FreeMemory应用程序和/或修复磁盘权限,迫使一些免费存储 无济于事地释放任何内存,仅将GB的内存内容从ram移动到hd。最后,当我尝试使用释放内存时打开的应用程序时,这会导致大量交换,因为它的许多虚拟机现在都处于交换状态。 使用dynamicpagerwrapper加速交换分配 为了加快交换使用速度似乎是一件好事,但是在内存仍然处于非活动状态时,首先没有解决osx交换的问题。 通过禁用dynamicpager并重新启动来禁用交换 使用所有内存时,这将迫使osx不使用swap来挂起系统挂起的价格。并非可行的选择... 使用被入侵的dynamicpager禁用交换 类似于禁用上面的dynamicpager一样,从博客评论的摘录中可以看出,这不是可行的解决方案:“非活动内存与往常一样高”。“当系统内存不足时,整个操作系统会挂起...”,“如果您消耗了mac的全部内存,则计算机可能会挂起” 总结起来,当内存仍然处于“非活动”状态时,我仍然不知道如何禁止Mac OS X使用交换功能。如果不可能,那么至少在某种程度上可以解释为什么osx倾向于换出可能随时从内存中释放的内存?

4
VIM(gvim / macvim)在哪里保存未保存/未命名缓冲区的交换文件?
VIM(gvim / macvim)在哪里保存未保存/未命名缓冲区的交换文件?(如果这样做的话)。 背景: 在整个半激烈的研讨会中,当MacBook耗尽汁液并且无处掉电时,我在一个未命名/未保存的MacVim缓冲区中记笔记(它通常不会入睡/休眠)。 问题: 有人知道未保存的工作是否有可能已经保存到交换(.swp)文件等中,可以恢复吗? 系统详细信息: 特别是在Mac OS X 10.5.8上使用MacVim时,发生了这种情况(但其他版本的可能的恢复提示也很有趣)。我尚未重启MacVim,以防万一这样做会启动清理过程。
52 vim  gvim  swap  macvim 

1
防止由于交换而导致系统冻结/无响应,从而耗尽了内存使用量
如果某个进程需要大量内存,则系统会将所有其他进程移至交换文件。似乎其中包括必要的过程,例如X11服务器或终端。 因此,如果一个进程不断分配而没有任何限制,那么一切都会变得无响应,直到该进程被OOM杀手杀死。我的笔记本电脑似乎特别明智,并且反应极差。我只是花了整整一个小时来等待进程终止,在此期间连鼠标光标都无法移动。 如何避免这种情况? 1)禁用交换=>我经常启动许多进程,这些进程随后变得不活动。不活动的应移至交换。 2)获取SSD =>太贵了 3)设置最大内存ulimit =>,但是如果程序需要合理的大量内存,则设置失败。问题不在于使用过多,而是抑制了其他过程 4)将重要程序(X11,bash,kill,top等)保留在内存中,不要交换那些=>这可以做到吗?怎么样?也许只交换大型程序? 5)?
48 linux  memory  swap  oom 

8
将交换文件移动到Snow Leopard中的专用分区
到目前为止,我已经能够将Apple的虚拟内存交换文件移至硬盘驱动器上的专用分区。我所使用的技术在forums.macosxhints.com上的一个线程中进行了描述。 但是,在开发人员预览Snow Leopard的情况下,此方法不再起作用。有谁知道如何用新的操作系统来完成它? 更新:我已经将dblu的答案标记为已接受,尽管它并不太奏效,因为dblu提供了出色而详尽的说明,并且因为他的使用建议plutil最终使我朝着正确的方向发展。完整,有效的解决方案已发布在问题中,因为我没有足够的声誉来编辑接受的答案。 更新#2:更改了说明ekl技术的过程,因为不需要中间shell脚本,从而大大简化了整个过程: 完整的解决方案: 1. 打开终端并制作苹果默认的dynamic_pager.plist的备份副本: $ cd /System/Library/LaunchDaemons $ sudo cp com.apple.dynamic_pager.plist{,_bak} 2. 将plist从二进制转换为纯XML: $ sudo plutil -convert xml1 com.apple.dynamic_pager.plist 3. 使用您选择的文本编辑器打开转换后的plist。(我使用pico,有关使用的示例,请参见dblu的答案vim): $ sudo pico -w com.apple.dynamic_pager.plist 它应如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ <plist version="1.0"> <dict> <key>EnableTransactions</key> <true/> <key>HopefullyExitsLast</key> <true/> <key>Label</key> <string>com.apple.dynamic_pager</string> …

4
我可以在没有交换分区的情况下使Linux休眠吗?
我没有在PC上设置交换分区,因为a)我有足够的RAM(8 GB),b)我有不想切成小块的大硬盘,所以我的最小分区是50 GiB,我已经在操作系统上使用了它们。 现在,要休眠,我的Linux(Ubuntu Jaunty)需要进行交换。我有一个100 GB的备用分区,所以我将其设置为swap,但是对此我并不满意。它仅用于休眠(总是有足够的可用RAM,系统永远也不会交换),而且交换也有点大。另外,我最终将需要其他东西。 我如何在Ubuntu Jaunty中没有交换分区的情况下休眠(挂起到磁盘)?
30 linux  hibernate  swap 

4
什么在使用我的交换(Ubuntu)?
我有一台运行数据库的Ubuntu 8.04服务器和一堆Java应用程序服务器。它的内存配置和用法是: total used free shared buffers cached Mem: 16456176 15930028 526148 0 81372 9674196 -/+ buffers/cache: 6174460 10281716 Swap: 1951888 366100 1585788 我注意到交换每天下午都会增加,晚上会释放一些时间。需求并非全天都一样,并且在不同的时间开始。因此,除了模糊的“午夜”边界外,它是非常随机的。 白天,这台机器上的负载会有所不同。在午夜和6-7 AM之间非常低,直到6-8 PM为止更高(但稳定),然后逐渐下降。 现在我有以下问题: 如何查看哪些进程正在使用交换? 为什么它更愿意换出而不是从缓存中获取一些内存?
30 ubuntu  memory  swap 

9
Windows交换(页面文件):启用还是禁用?
从我的亲身经历中,我注意到,在Windows XP中禁用页面文件通常使我获得了我可以进行的任何其他软件更改中最快的速度提升。显然,当有大量RAM可用时,必须这样做。通常,我发现它在+ 2GB RAM的情况下可以很好地工作。我真正遇到过的唯一问题是加载Adobe Photoshop。 这真的是速度上的提高吗?还是我在想它? 注意:要真正将其关闭,您不仅要将其设置为0MB,还应将其禁用。否则,Windows将仅在需要时对其进行扩展以满足其需求。
28 windows  swap  pagefile 

7
交换分区大小以获取4GB RAM
我打算安装Ubuntu 9.04版本。我应该为交换分区分配多少空间。我记得在安装后背时将其设置为RAM大小的两倍。当时我的RAM是256 MB。所以我将交换分区设置为512 MB。

2
运行“ rm”命令以设置交换分区后,Linux Mint无法启动
在创建Linux硬盘驱动器时,我跳过了创建交换分区的工作,以为4GB的RAM就足够了。现在,我认为我确实需要交换分区。我问了IRC上的一些人如何做到这一点,他们给了我以下内容: su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt 我输入了密码,需要输入密码。似乎并没有执行任何操作,但是10分钟后,它无缘无故地关闭了。现在,它不会再开始。这怎么了 我正在使用Linux Mint Cinnamon版。
26 linux  swap  rm 


4
当存在大量“非活动内存”时,为什么OS X使用swap?
我从几个月开始使用OS X(Lion和现在的Mountain Lion)。我的mini上有8 GB,现在几乎每天都差不多。在具有8 GB的Windows 7计算机上,我从未遇到过此类问题。无论如何,我在网上读到,不活动内存是最近关闭的程序的应用程序缓存,可用于更快地重新打开。如果需要,可以将不活动内存释放给新应用程序。它没有发布。而是OS X开始交换。所以我的问题是,当有很多“非活动内存”时,为什么OS X使用swap?这是显示我的意思的屏幕: 我确实希望OS X能够在开始交换之前使用那些2.69 GB的空间。
22 macos  swap 


3
如何使计算机使用更多的RAM?
我正在运行带有8GB RAM的Windows 7 64位。问题是,我很少使用全部内容。 我会不时地进行一些视频编辑,然后肯定会派上用场,但是对于日常使用,我并没有充分利用它。 我是否可以更改任何设置,这些设置将迫使操作系统使用更多的RAM,例如,使用页面文件停止它?当我只是在浏览和移动文件时,我很高兴它自己可以使用高达4GB的空间。据我所知,在内存中拥有更多的操作系统将使其响应速度更快。目前还不是很糟糕,但是肯定不会受到伤害,尤其是因为我没有将它用于其他用途。 我还希望它在运行其他程序(例如浏览器,媒体播放器等)时停止将内存中的页面交换到光盘上,除非确实需要这样做。这将延长光盘的使用寿命,并使总体上响应更快。 如果我在这里有任何错误的事实,请告诉我。
19 memory  swap  pagefile 

6
我如何快速停止导致崩溃的进程(由于过多的内存分配)?
我们都经历过-要求某些程序执行需要大量内存的操作。它会尽职地尝试分配所有这些内存,然后系统立即开始崩溃,不断交换并变得迟钝或无响应。 我最近在我的Ubuntu笔记本电脑上遇到了这种情况,这是因为Matlab脚本试图分配一个可笑的巨大矩阵。经过大约5分钟以上的重击后,我能够按Ctrl-F1进入控制台并杀死Matlab。我宁愿有一些热键,可以立即让我控制系统,并让我杀死令人讨厌的过程;或者,也许只是默默地拒绝分配这么大的缓冲区。 重新获得对Linux系统的控制的最快方法是什么,该Linux系统由于过度交换而变得无响应或极其缓慢。 是否有一种有效的方法来防止这种交换首先发生,例如通过限制允许进程尝试分配的内存量?
19 ubuntu  memory  freeze  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.