我一直在阅读这个问题 ,它有很多很好的信息。
但假设你有足够的内存,我认为页面文件应该在SSD上禁用,以延长使用寿命。 我知道你会失败的核心转储,但没有多less人需要这些信息。
从我的理解,没有一个页面文件,因为你达到你的内存的限制,可能会触发磁盘颠簸。 但是对于SSD来说,没有任何颠簸的概念,读取速度很快。
你们有什么感想?
但假设你有足够的内存,我认为页面文件应该在SSD上禁用,以延长使用寿命。 我知道你会失败的核心转储,但没有多less人需要这些信息
这听起来像是不成熟的优化。 您尚未讨论您计划使用的固态硬盘,也没有真正查看服务器工作负载和计划中的固态硬盘数据表,您无法了解页面文件对固态硬盘使用寿命的影响。
在互联网和互联网上,也有大量的错误信息,关于SSD寿命短的问题。 早期型号的固态硬盘可能有问题,USB闪存明显开始降级,但是企业级固态硬盘具有更好的耗损均衡algorithm,有些则利用备用闪存来提高性能和磨损。
例如, 英特尔X25-E驱动器宣称32 GB驱动器的随机写入的写入持续时间为1 PB。 如果你不停地写入界面(200MB /秒),覆盖,我估计会持续大约58天。 但是这样写的东西就是每天17TB的数据。
即使你有一个页面文件,典型的OS驱动器上的服务器工作量也远远不够。 每天呼叫50 GB。 如果1 PB数字是准确的(我知道它可能被认为是一个平均数字,稍后再讨论),这仍然是50年以前的某个地方。
当然,这些数字看起来非常高,所以让我们来看看英特尔引用的预期驱动器使用寿命的实际数字 。 英特尔很高兴能够在MLC(非企业)驱动器上每天写入100 GB的数据5年。 对SLC和MLC闪存的标准理解是,SLC闪存的寿命比MLC长10倍(上面的链接也在图中显示了这一点)。
当然,事实会得到证实 – 我们要么开始看到驱动器提前失败,要么就不会。 但是驱动器背后的数字加起来可以延长使用寿命,而不会成为质量不错的固态硬盘的问题。
如果你使用的是MLC固态硬盘,那么你可能会担心。 但是请记住,如果英特尔乐于以100GB /天的速度对硬盘进行5年的评估,那么这个数字与10年来的50GB /天基本持平。 而且,回到我原来的观点,你仍然需要知道你要在硬盘上做什么样的实际工作量。
就个人而言,我强烈地说,不要在生产服务器环境中使用MLC SSD。 如果一个体面的SLC SSD太昂贵,现在坚持旋转磁盘。
(顺便说一句,如果你做了这个数字,比如50GB,每天100GB,这是“SLC的持续时间比MLC长10倍”,看起来英特尔认为他们的32GB的硬盘实际上总的写入时间是更接近2 PB的数据,而不是产品规格中引用的1 PB。即使我只相信这两个值中较小的一个值得高兴,我的X25-E驱动器应该持续10年以上)
除了丹尼尔·劳森(Daniel Lawson)提到的长寿可能不是一个问题之外,还可以考虑MS团队本身的反馈(下文)
页面文件是否应放置在SSD上?
是。 大多数页面文件操作是小型随机读取或更大的顺序写入,这两者都是SSD处理良好的操作types。
在从成千上万的跟踪中查看遥测数据并专注于页面文件的读取和写入时,我们发现这一点
- Pagefile.sys读取大约pagefile.sys约40到1写入
- Pagefile.sys的读取大小通常很小,67%小于或等于4 KB,88%小于16 KB。
- Pagefile.sys写入相对较大,其中62%大于或等于128 KB,45%仅为1 MB。 实际上,鉴于典型的页面文件参考模式以及SSD在这些模式中所具有的良好性能特征, 几乎没有文件比放置在SSD上的页面文件更好。
MSDN的支持和问答
不要完全禁用页面文件,而是告诉操作系统不要使用它(例如, sysctl vm.swappiness=0
)。
操作系统将避免使用它,除非必要,节省SSD不必要的写入。
我会离开页面文件始终启用; 您的操作系统或应用程序的某些部分可能会被写入,以期望有人在那里,因此如果没有人可能会行为不端。
话虽如此,我已经运行了Windows(XP)而没有页面文件,并且对我所投入的所有内容都非常满意。 虽然有些事情会随之而来,但总是有人怀疑,不喜欢它。
一个选项可能是设置它很小。
这不是直接回应OP,而是想纠正上面Ronald和Daniel的回答/评论中的错误印象。 (我是新手,所以没有足够的评论点)
TRIM实际上是您可以做的最大的事情来延长SSD的寿命。 原因如下:SSD周期性的“垃圾收集” – 从部分清空的块中复制(碎片化的)数据,并将其连续写入新擦除的块中。 地址被重新映射,以便主机不需要知道这一点。 这种额外的写入活动,与主机写入不直接相关,被称为“写入放大”。 写入放大器在一个完全满SSD的情况下,只有less量的过度configuration(隐藏的备用)空间,可以很容易地在主机写入速率的500% – 700%的范围内。
在垃圾收集期间,SSD不会复制和重写已经失效的页面(覆盖或TRIMM),从而节省了大量的工作和写入活动。 如果文件系统擦除大文件但不通过TRIM通知驱动器,则驱动器将继续复制擦除的数据,无限期地浪费写入数据(或者直到这些数据块地址碰巧分配给其他文件,这可能是很长时间)。
总之,TRIM对于长寿和性能都非常重要。
只需使用第二个硬盘驱动器虚拟内存。
我已经在你链接的其他post上说过这个,但是我们运行了一个非主线服务器,没有页面文件,这里的一切似乎都很好。 事实上,没有它似乎更快。 我们有8GB的内存,我会说你应该根据你是否有很多的内存,而不是你的硬盘是否是一个固态硬盘的决定。 虽然我可以通过不做不必要的写作来理解想要挽救它的生命。
如果你能摆脱它,我会说不要使用交换。 或者,也许可以把swappiness的方式降下来。 如果你不需要这个function,那么很难把一个驱动器写出来(需要多长时间写到整个驱动器10万次,最大带宽是多less?)。
然后再次,hibernate(挂起到磁盘)不工作没有某种交换。
过去有一些奇怪的行为没有交换(如在一个50MB RAM磁盘交换将是一个胜利),但这是去年夏天(或者是2007年?)补丁,所以当前的操作系统应该没问题。
现在我们所需要的只是支持擦除命令的硬件(Linux已经支持了好几个月),在SSD上的生活将是光明正大的。
在8GB内存和SSD的单个驱动器,没有页面文件的笔记本电脑上运行了一年多,现在没有问题。 我遇到了一个需要页面文件的游戏,去了软件网站,得到了运行命令来禁用它,问题解决了。 我的笔记本电脑是4年。 老,但比一些新的桌面运行速度更快。 内存泄漏又名SWAP文件自创build该技术以来一直是Windows操作系统的问题。 不幸的是,Linux开发者紧随其后。 你在后台运行的软件越less越好(特别是如果是微软的话)。
当有很多未使用的内存时,禁用磁盘上的页面文件。 一些旧程序需要页面文件function,对于那些Windows将在内存中创build一个小页面文件function。
我有一个企业级的SSD非常过早地烧毁了我。 我的机器通常需要开机,除非我睡着了。 我没有很好的证据,但我认为原因是重大的交换。 我经常有太多的窗口打开/运行的东西/错误的守护进程与内存泄漏,所以,我怀疑,有一些交换活动几乎连续。 我记得不时地运行iostat,并注意到经常有连续繁重的磁盘活动。 我记得有一个守护进程有几个月的内存泄漏,需要定期查杀。 除非系统速度很慢,否则我不会排除故障,所以在我花时间重新启动守护进程之前,这可能会持续很长时间。 更长的泄漏被修复。
等等,哎呀 – 这是serverfault。 但是对于某些服务器来说,pipe理工作负载并不是一件容易的事情,而且也不是一件容易的事。 所以这是相关的。