我一直在阅读这个问题,它有很多有用的信息。
但是,假设您有足够多的RAM,我认为应禁用SSD上的页面文件以延长使用寿命。我知道您在崩溃时会丢失核心转储,但是很少有人需要该信息。
据我了解,如果没有页面文件,那么当您达到RAM的极限时,可能会触发磁盘崩溃。但是对于SSD,没有颠簸的概念,读取速度很快。
你们有什么感想?
我一直在阅读这个问题,它有很多有用的信息。
但是,假设您有足够多的RAM,我认为应禁用SSD上的页面文件以延长使用寿命。我知道您在崩溃时会丢失核心转储,但是很少有人需要该信息。
据我了解,如果没有页面文件,那么当您达到RAM的极限时,可能会触发磁盘崩溃。但是对于SSD,没有颠簸的概念,读取速度很快。
你们有什么感想?
Answers:
但是,假设您有足够多的RAM,我认为应禁用SSD上的页面文件以延长使用寿命。我知道您在崩溃时会丢失核心转储,但是很少有人需要该信息
这听起来像是过早的优化。您尚未讨论计划使用哪些SSD,并且没有实际查看服务器工作负载和计划的SSD数据表,就无法知道页面文件将对SSD的寿命产生什么影响。
在更大的Internet上以及在Server Fault上,也存在大量有关SSD使用寿命短的错误信息。早期型号的SSD可能已经出现问题,并且USB闪存驱动器肯定开始降级,但是企业级SSD的磨损均衡算法要好得多,并且某些SSD利用备用闪存来提高性能和磨损。
例如,英特尔X25-E驱动器声称32 GB驱动器的写入持续时间为1 PB随机写入。如果您不停地通过写操作使写入接口(200 MB /秒)饱和,我估计这将持续约58天。但这每天在该驱动器上写入约17 TB的数据。
即使您有页面文件,OS驱动器上的典型服务器工作量也将大大减少。每天称之为50 GB。如果1 PB的数字是准确的(我知道它可以被认为是平均数字,稍后再讨论),那仍然是50年来的某个地方。
这些数字显然高得离谱,因此,让我们看一下Intel引用的预期驱动器寿命的实际数字。英特尔很高兴让MLC(非企业级)驱动器有资格在五年内每天写入100 GB数据。对SLC与MLC闪存的标准理解是,SLC闪存的持续时间是MLC的10倍左右(上面的链接也显示在图表上)。
当然,事实将随着时间的流逝得到证实-我们要么开始看到驱动器过早失效,要么就不会失败。但驱动器后面的数字加起来不被驱动长寿体面的品质固态硬盘有问题,在所有。
如果您使用的是MLC SSD,那么担心是正确的。但是请记住,如果英特尔高兴地将驱动器的额定价格定为100 GB /天,为期5年,则基本上仍与10年的50 GB /天相同。而且,回到我的原始观点,您仍然需要知道将要在驱动器上执行的实际工作量。
我个人强烈建议不要在生产服务器环境中使用MLC SSD。如果像样的SLC SSD过于昂贵,请暂时坚持旋转磁盘。
(顺便说一句,如果您进行数字计算,例如连续50年每天100 GB,这是“ SLC的持续时间比MLC长10倍”的评价,似乎英特尔说他们的32 GB驱动器实际上具有总写入寿命接近2 PB的数据,而不是产品规格中引用的1 PB。即使我只相信这两个值中的较小者也感到满意,我的X25-E硬盘应能持续使用10年以上。
正如丹尼尔·劳森(Daniel Lawson)所述,除了寿命可能不是问题之外,以及MS团队本身的反馈(如下),请考虑
应将页面文件放在SSD上吗?
是。大多数页面文件操作都是小的随机读取或较大的顺序写入,这两种都是SSD可以很好处理的操作类型。
在查看来自数千条迹线的遥测数据并关注页面文件的读取和写入时,我们发现
- Pagefile.sys读取的页数要比pagefile.sys写入的数多40到1
- Pagefile.sys的读取大小通常很小,小于或等于4 KB占67%,小于16 KB占88%。
- Pagefile.sys的写入相对较大,大于或等于128 KB的占62%,正好1 MB的占45%。实际上,给定典型的页面文件参考模式和SSD在这些模式上具有的良好性能特征,几乎没有文件比页面文件更适合放置在SSD上。
我将始终启用页面文件;您的操作系统或应用程序的某些部分可能被编写为期望其中的一部分,因此如果没有某个部分,可能会出现异常。
话虽如此,我过去在没有页面文件的情况下运行Windows(XP),并且对我所付出的一切感到非常满意。尽管总会有一些令人讨厌的疑问,尽管会出现一些不希望的事情。
一种选择是将其设置为很小。
这并不是对OP的直接响应,但我想纠正Ronald和Daniel在上述答案中的错误印象。(我是新来的,所以没有足够的意见要发表。)
实际上,TRIM是您可以做的最大的事情,可以延长SSD的寿命。原因如下:SSD定期进行“垃圾收集”-从部分为空的擦除块中复制(碎片化的)数据,并将其连续写入新擦除的块中。
地址被重新映射,因此主机不需要知道这一点。这种与主机写入不直接相关的额外写入活动称为“写入放大”。最坏的情况是完全满的SSD带有少量的预留空间(隐藏的备用空间),写入放大率很容易在主机写入率的500%-700%范围内!
在垃圾回收期间,SSD不会费心复制和重写已失效(覆盖或TRIMmed)的页面,从而节省了大量的工作和写入活动。如果文件系统删除了一个大文件,但未通过TRIM通知驱动器,则驱动器将继续无限期地复制擦除的数据,浪费写入(或直到这些块地址碰巧被分配给其他文件为止),可能会很长一段时间)。
总而言之,TRIM 对于寿命和性能都非常重要。
只需将第二个硬盘用于虚拟内存即可。
我想说不要使用交换,如果您可以摆脱它。或将交换性调低。如果不需要,那么就很难用完了(以最大带宽将整个驱动器写入100,000次需要花费多长时间?)。
再说一次,没有某种交换,休眠(挂到磁盘)将无法工作。
过去有一些奇怪的行为,没有交换(例如交换到50 MB的RAM磁盘将是一个胜利),但这是在去年夏天修补的(或者是2007?),因此当前的操作系统应该没问题。
现在,我们所需要的只是支持擦除命令的硬件(Linux已经支持了几个月),而SSD的使用寿命将非常可观。
我已经有两个企业级固态硬盘烧坏对我非常过早地(即,在保修期内好)。我认为原因是由于颠簸而导致大量交换。我经常意识到,我不需要的进程正在运行/存在内存泄漏的Buggy守护程序,因此几乎连续都有大量交换活动。我iostat -n9 -w 10
不时在后台运行,注意到经常有连续的大量磁盘活动。同样,内核进程的(交换)活动被记录为大多数I / O的来源。我记得有一个守护程序,它的内存泄漏持续了几个月,需要定期杀死。除非系统很烦人,否则我通常不会进行故障排除,因此在我花时间重新启动守护程序之前,通常会进行很长时间的调试。并且需要更长的时间来修复泄漏。
虽然禁用交换功能会引起我的注意,但此问题将在SSD出现严重磨损之前得到解决,但这远不是防止此类损坏的最佳方法。任何体面的监视/警报工具都会更好。
许多答案未能意识到的警告是,如果服务器连续不断地撞击 SSD,在这种情况下,一年之内它就会很快烧尽。当虚拟内存交换足够繁重以至于足以使(交换)驱动器保持繁忙时,通常会发生经典的抖动-恰好在其最大I / O带宽的数量级之内,并且至少有一个进程在等待与交换相关的I / O。 O完成系统大部分时间处于该状态的时间。其他答案假定系统不是颠簸,至少不是经典的方式;或依赖于误解是什么 而且,即使有其他准确的数据,这种错误的假设也会导致关于WHY分页的错误答案,即使SSD是交换文件的唯一可能位置,也最好将其启用。
当您有大量未使用的内存时,请禁用磁盘上的页面文件。一些旧程序需要页面文件功能,而对于那些Windows,它们将在内存中创建一个小的页面文件功能。