我仅具有基本的 Windows Server 知识,并且我承接了安装具有 20-30 个并发用户的终端服务器(Windows Server 2003)的责任。
性能方面存在间歇性问题 - 我认为最终是由于服务器规格较低(三核,使用 PAE 的 4Gb 内存)。我正在尝试看看我是否能在今年晚些时候进行重大升级之前保持运行。
我注意到的一件事是,来自不同会话的进程经常会消耗 100% 的核心。我认为当这种情况同时发生在多个会话上时,就会发生冻结。我可以做些什么来限制单个会话的 CPU 使用率?或者,是否可以保留一个核心,以便它不被单个会话使用,而是用于处理登录等?
答案1
你可能想要查找资源配额(内存和 CPU 配额),例如http://kurtsh.com/2007/07/16/howto-throttle-the-cpu-on-desktops-terminal-servers/或者http://technet.microsoft.com/en-us/library/cc732553.aspx尽管它们可能只适用于 Win2008。但这应该可以为您提供搜索的起点。
当我们运行终端服务时,我们发现某些应用程序和实践可以缓解您所看到的问题类型,即资源占用(虽然我们在 2000 年就已运行...但情况似乎随着时间的推移有所改善。)
有些用户喜欢在终端上使用屏幕保护程序。限制他们不允许。
创建空闲注销策略。
监控某些习惯,例如循环运行 flash 动画。我们让某人将终端推到地面,因为他们在雷达循环中安装了天气频道,导致内存泄漏。
使用性能监视器检查其他限制;例如,编写不佳的 AV 软件可能会在启动每个用户监视实例时使您陷入困境。
这是少数情况下碎片化磁盘可能会造成严重影响的情况之一,因为您有大约 25 名用户,他们自己的缓存中分散着小文件,这些文件分散在磁盘各处。检查碎片化情况并在非工作时间进行清理。
像您所描述的那样,在系统上最多有 25 个用户确实会使其陷入困境;在影响其他用户之前,这是我们对具有终端服务的系统的限制。您不能指望在某个时候对其进行调整会出现奇迹。
您运行的是哪种 RAID 级别?磁盘子系统速度慢可能会导致系统瘫痪。特别是如果您早上登录量很大。升级该级别后,您可能会看到速度明显提升,尽管您说要尽量让它持续到重大升级...
监控未经授权的软件安装。某种类型的软件很容易占据一切。
使用 procmon 之类的实用程序以及 sysinternals 的 procmonitor(免费)来查找可能导致系统瘫痪的原因。没有理由冷冻;它可能很慢,但不会被锁定。这些实用程序可能有助于缩小根本原因。有时,当我们无计可施时,它对我们来说就是救星。
这就是我记得的全部内容了...希望其他人能够提供更好的建议来缓解系统资源短缺的问题。
注意 - 如果在用户数少和用户数多时都出现此冻结,则可能是某个特定应用程序或操作导致了此问题。除了 sysinternals 工具的建议外,我还会开始寻找模式;日志中是否有任何内容?当时谁登录了,他们在做什么?如果屏幕冻结并留下活动,您能跟踪用户在做什么吗?这种情况发生在一天中的什么时间?当屏幕冻结时,您能让用户向您发送他们在做什么的记录吗?
我们的 TS 集群上出现了服务器自发重启的问题。甚至微软也不知道该如何解释。结果发现是某个特定应用程序在运行该不应该导致重启,但确实如此。从服务器中删除它后,我们的重启就消失了。但实际上花了几个月的时间才弄清楚!