请允许我谈谈您对终端服务器性能问题的看法。服务器平均承载 25 名用户,在运行一些数字后,他们的主要应用程序(Web 浏览器、Adobe Reader、IP 电话客户端)运行时平均使用 600MB 内存。所有用户都与服务器位于同一个 LAN 上。我们经常遇到响应缓慢和短暂会话锁定的情况。总 CPU 使用率平均为 10%。对我来说奇怪的是,系统显示 29GB 物理内存,其中 25GB 可用。页面文件使用率约为 50%,平均使用了 9GB。
一些服务器规格
操作系统:Server 2003 32 位企业版,带 /PAE 标志 内存:32GB CPU:2xQuad Core @ 2.27Ghz 硬盘:RAID5 1.2GB
在使用性能监视器进行基本故障排除之后,我相信性能问题是由 32 位操作系统在寻址完整 32GB 物理内存方面的限制引起的,即使使用了 /PAE 标志。
有人能建议一些可以带来更有结论性的答案的故障排除步骤吗?
谢谢
答案1
Windows 中的 PAE 存在一些鲜为人知的烦恼。尽管操作系统现在能够分配系统中的所有 RAM,但某些应用程序仍然不会使用它。
启用 PAE 后,每个进程仍然受限于 32 位环境 (4gb) 的限制...除非它是专门为使用AWE
(地址窗口扩展) 而构建的。
尽管有这么多“信息”……但我认为这不是您遇到的问题。(您的进程是否占用超过 4GB 的 RAM?)对我来说,9GB 的分页实在是太多了。考虑到这是一台终端服务器,情况更是如此。这么多的磁盘 IO 对性能不利。正如 mfinni 所说,您遇到的可能是磁盘 IO 问题,而不是内存问题。我见过与您描述的完全相同的症状,但最终发现我的磁盘驱动器确实无法跟上工作负载。磁盘 IO 过多的原因有很多,解决问题的方法也有很多。
就我而言,我发现打印后台处理程序服务分配了大量的 RAM(大部分都转储到了页面文件中)。事实证明,只要创建/删除打印机,打印后台处理程序就会出现一个长期存在的问题。
(创建打印机时,会为驱动程序分配内存。删除打印机时,不会取消分配内存。结果是,在用户全天登录和注销的终端服务器上,打印后台处理程序服务分配了 2gb 以上的 RAM……并且大部分内存都被扔到了页面文件中)尽可能不要使用 RDP 来共享打印机。
当谈到终端服务和内存时,还存在许多其他隐藏的陷阱。
答案2
这可能是由于用户会话内存不足造成的。请解释一下您在 Perfmon 中执行的操作导致您得出此结论?
编辑 - 好的,我不会太担心分页文件。它与 VM 在旧 Unix 系统上的运行方式不同;Windows 将更积极地分页以保持更多物理内存可用。如何将页面文件使用率指标降至零?如果你真的担心分页,请查看页面 IO 读取率。这就是硬故障率。
交互式终端服务器中一个经常被忽视的问题是磁盘 IO - 它会导致严重的用户体验问题,但性能数据不会立即跳出来。您的 RAID 卡是否有 BBWC,您是否在进行写入缓存?如果没有,您几乎肯定会看到问题 - 使用 PerfMon 查看 RAID 卷上的磁盘队列长度。经验法则(IIRC)是,高于阵列中物理主轴数量的数字是不好的。
答案3
Windows 2003 x86 在内核内存方面确实存在性能问题。默认情况下,它的分页池最大值和非分页池最大值低于 Windows XP。我们过去常常将这两个值设为最大值,但即使这样,内核内存也很容易耗尽。
更多信息请点击这里: https://serverfault.com/a/389299/20701
对于 x86 终端服务器来说,29 GB 确实浪费了。
仅供参考,即使它们位于同一个 LAN 段上,我也不会排除网络。