![Citrix 性能下降,CPU 达到 100%](https://linux22.com/image/484416/Citrix%20%E6%80%A7%E8%83%BD%E4%B8%8B%E9%99%8D%EF%BC%8CCPU%20%E8%BE%BE%E5%88%B0%20100%25.png)
我们有一个 Citrix PS4.0 服务器群,由 2 台物理 Citrix 服务器和 2 台虚拟 Citrix 服务器组成。其中任何一台服务器最终都会因达到 100% 的 CPU 使用率而导致性能下降。当任何一台 VMware 服务器上发生这种情况时,我可以在虚拟基础架构客户端中看到 CPU 使用率激增。
这不是与用户数量相关的负载问题,因为它可能随时发生在任意数量的用户身上。
用户运行的是共享桌面,而不是应用程序。桌面上安装的应用程序是标准办公应用程序(Word、Excel、Outlook),通过 Bluecoat 代理可以有限地访问 Internet Explorer,以及几个行业专用应用程序。
可以使用哪些工具来排除故障并诊断问题的根源?一旦服务器的 CPU 达到 100%,就无法登录并查看哪个进程正在消耗所有资源。唯一的办法是硬重置机器。所有服务器每天早上 4 点按计划重新启动。
注意:我已经在所有 Citrix 服务器上安装了 ThreadMaster,使用默认配置选项和日志记录活动。日志未揭示问题的根源。
编辑
- Citrix Presentation Server 4.0 企业版
- 修补程序 PSE400W2K3R03
- Windows 2003 服务器标准版 Service Pack 1
- 运行 Symantec Client Security 10.0.0.359,并根据 Citrix 对文件排除等的建议进行配置。
答案1
Windows 2003 SP1 已于 4 月停止支持,因此您的操作系统不再获得任何安全补丁。您需要尽快升级到 SP2。
SP2 还修复了许多随机错误 - 您的问题可能会消失。
如果你的操作系统有这么老的补丁级别,那么一些驱动程序——特别是打印驱动程序- 也可能是机器上的驱动程序已过期。由于驱动程序通常是系统不稳定的一大根源,因此我会尝试检查它们是否都已签名且是最新的。使用有问题的打印驱动程序可以解释为什么它会影响虚拟和物理机器,并且无论负载如何都会随机发生。
哦,仅供参考,Citrix 4 将于本月底(09 年 6 月 9 日)进入 EOM(维护结束,不再提供错误修复),并于 12 月 9 日进入 EOL(生命周期结束,不再提供安全补丁或任何其他补丁)。享受您的升级周期!
答案2
您可以尝试安排一个脚本每分钟左右运行一次,将进程列表附加到文件中:
pslist >> whatever.txt
类似这样的事情至少可以给你提供一些线索,让你知道到底发生了什么。
答案3
内置性能日志和警报工具将是一个很好的工具,可以为您提供一些有关正在发生的事情的数据。您将不得不使用一些磁盘空间来生成这些日志,但如果您在问题发生之前一直删除旧日志文件,那么您就不会遇到磁盘耗尽的问题。
我会在每台服务器计算机上启动一个计数器日志,记录过程和处理器对象到磁盘(我可能还会抓取记忆对象)。
启动/运行/PERFMON
展开性能日志和警报节点并突出显示计数器日志节点。
点击行动和新日志设置. 随意命名日志。
点击添加对象...日志属性窗口中的按钮并将对象添加到日志中。
设置间隔。我可能会选择 60 秒或更长的间隔。高分辨率可能没有必要,因为这是一个逐渐退化的过程。
在日志文件选项卡,使用配置按钮来选择日志文件的位置和基本文件名。我会选择一个最大日志大小比如说 5MB - 10MB。这将生成大量小文件,但您将能够监控存储文件的路径并删除在问题发生之前堆积的旧文件。
您可以通过右键单击结果窗格中的新日志实例并选择“启动”来启动日志。默认情况下,日志将运行,直到您停止它或重新启动计算机。(有关在启动时启动日志的信息,请参阅此问题:如何设置 Perfmon 在系统启动时自动启动“警报”? (问题谈论的是启动警报,但您可以使用相同的命令来启动日志。)
您可以在问题发生后手动分析这些日志。您可能想尝试 Microsoft 的日志性能分析(PAL)工具 (http://www.codeplex.com/PAL)。我对该工具生成的报告很满意,而且它相当容易使用。
答案4
您运行的是哪个版本?您是否有 SA 协议?
您在服务器上运行防病毒软件吗?
另外,您正在为 PS4 运行什么修补程序/汇总,以及您在 Windows 上使用什么 SP?