语音和统一通信 : Cisco Unity

Unity虚拟内存分段-识别和解决方案

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

Windows 2000服务器描述使用虚拟字节和, “在进程使用虚拟地址空间的字节的当前大小。使用虚拟地址空间不一定暗示一个对应使用磁盘或主存储器页。虚拟空间是有限的,并且,如果使用太多,进程能对加载库限制其能力”。

主要的Cisco Unity服务, AvCsMgr,分配各种各样的进程的虚拟字节。这些进程包括消息发送和音频录音和播放。本文讨论:

  • AvCsMgr虚拟内存使用模式。

  • 方式识别潜在的虚拟内存分段问题。

  • 您能使用缓和和更正额外的虚拟内存使用情况的解决方案。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息根据Cisco Unity版本3.0及以上版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

虚拟内存使用模式

图1说明AvCsMgr进程的一个典型的虚拟内存使用模式在Cisco Unity系统。

显示的时间开始与Cisco Unity初始启动。当系统活动锐化,并且正常级别分段发生, AvCsMgr用途稳定对水平的模式图1显示的相当数量虚拟内存。AvCsMgr使用,并且到达此状态的时期变化的最大数量虚拟内存,根据语音呼叫流量和用户数量系统的。

图 1:典型的AvCsMgr虚拟内存使用情况

/image/gif/paws/51477/unity-virt-memory-frag-1.gif

图2说明AvCsMgr虚拟内存使用情况一个潜在有问题的模式。在AvCsMgr虚拟内存高原能指示额外的AvCsMgr虚拟内存内存分配或分段的点以后的一致增加。图的模式2说明不一定指示一问题。例如,猛增不是异常的,当很大数量的用户被添加到系统时,或者,当系统活动到达一新的高峰,因为服务器的最后重新启动。如果此模式被观察,思科建议您严密地监测活动为了确定使用情况是否是额外的。

图 2:潜在有问题的AvCsMgr虚拟内存使用情况

/image/gif/paws/51477/unity-virt-memory-frag-2.gif

AvCsMgr虚拟内存使用情况不应该超出1.65 GB (或在系统的2.4 GB,并且使用/3GB交换机)的Run窗口高级服务器。

请使用性能监控程序监控AvCsMgr虚拟内存使用情况

您能记录与使用的Cisco Unity虚拟内存使用模式Microsoft Windows性能监控程序。关于使用性能监控程序的信息,参考Cisco Unity维护指南的性能监控章节。

完成这些步骤为了查看在性能监控程序的此信息实时:

  1. 选择Start > Programs > Administrative Tools > Performance为了启动性能监控程序。

  2. 点击在树型视图的系统显示器在右边。

  3. 用鼠标右键单击在控制视图的控制在右侧面板中。

  4. 点击在弹出式菜单的Add Counters

  5. 选择您希望监控的Cisco Unity计算机。

  6. 选择处理性能对象。

  7. 把在左边的计数器列表移下来并且选择虚拟字节计数器。

  8. 把在右边的实例列表移下来并且选择AvCsMgr实例。

  9. 与控制视图相反,单击添加为了添加虚拟字节。您也许需要更改缩放正确地查看在图表视图的此计数器。

  10. 在控制视图在右侧面板中,请用鼠标右键单击控制和在弹出式菜单,点击属性

  11. 在System Monitor Properties对话框的Data选项,请点击缩放然后选择0.0000001从下拉列表。

  12. 更改垂直标度值到200在System Monitor Properties对话框的图表数据。

  13. 单击 Ok

    例如,在图1报告的最大值对应于1201238093个字节或1.20 GB。如果在实时观察此计数器,此值高于1.65 GB (或在系统的2.4 GB不应该,并且使用/3GB交换机)的Run窗口高级服务器。

    思科建议您使用性能监控程序警报为了通知Cisco Unity管理员,当虚拟字节值超出1.65 GB限制时(或在运行Windows高级服务器,并且使用/3GB交换机)的系统的2.4 GB。

配置AvCsMgr虚拟字节计数器的性能监控程序警报

完成这些步骤为了配置AvCsMgr虚拟字节计数器的一性能监控程序警报:

  1. 选择Start > Programs > Administrative Tools > Performance为了启动性能监控程序。

  2. 双击性能日志和警报然后单击警报

    所有现有警报在详细信息窗格列出。绿色图标表明警报运行;一个红色图标表明警报被终止了。

  3. 在详细信息窗格的一个空白的区域用鼠标右键单击并且选择新的提醒的设置

  4. 在Name字段,请输入警报的名称然后点击OK键。

  5. 在常规选项卡下,在注释部分,请输入注释描述警报。

  6. 单击 Add

  7. 点击使用本地计算机计数器监控计数器从性能日志和警报服务运行的计算机。

    或者,为了监控计数器从服务运作的一台特定计算机不管,请单击选择计数器从计算机并且指定您要监控计算机的名称。

  8. 选择处理性能对象。

  9. 把在左边的计数器列表移下来并且选择虚拟字节计数器。

  10. 把在右边的实例列表移下来并且选择AvCsMgr实例。

  11. 单击添加然后关闭对话框。

  12. 在Alert字段(当值是)时,请指定和在Limit字段,指定触发警报的值。

  13. 指定数量和测量单位更新间隔的(例如, 1分钟)在示例数据每个字段。

  14. 当警报被触发在Action Tab下时,请选择操作被执行。

    思科建议您配置提醒的服务写入到事件登录新增内容到您要设置的其他操作。此类型事件日志警报可能也配置通过EMS工具通知管理员被找到在Cisco Unity工具事件监控服务页。

  15. 在Schedule选项下,请手工选择启动扫描并且手工终止扫描

  16. 单击 Ok

  17. 选择您配置的警报,然后用鼠标右键单击警报并且选择开始

    注意: 警报需要每次开始Cisco Unity系统重新启动。

问题

用户在Windows 2000服务器或Windows 2000 Advanced Server运行的模式应用程序的虚拟地址空间对4 GB。默认情况下, 4 GB地址空间分开成2 GB每个用户模式的和内核模式进程的。Cisco Unity系统(用户模式进程)只超过2 GB限制,当有额外的虚拟内存分段时。当2 GB限制达到时,引起AvCsMgr服务意外地关闭。

在Cisco Unity 3.x系统的症状

因为基础组件不再能分配内存,用户能听到故障自动保险的会话(当Cisco Unity播放及时“抱歉时,临时地不可用的系统。请再试试以后”)和一个或很多这些错误在应用事件日志出现:

Source: VBRuntime
EventID: 1
Description:
The VB Application identified by the event source logged this Application 
AvSubSetupUtilsENU: Thread ID: 5984, Logged: modPhraseUtilGeneral: 
ErrorGettingProperty: Error getting property: MailUserExtension 

Source: AvPhraseServer_MC
EventID: 10002
Description:
AvPhrase::Make - error returned from Make for PhraseServer [AvSubMsgCountENU], 
PhraseID [AnnounceMsgCount], Message [Invalid procedure call or argument], 
Return code [800A0005h].

Source: AvArbiter_MC
EventID: 1020
Description:
[Port 26] Failed routing a continued call to application [PHGreeting] with data 
object type [0]. Using Failsafe instead.

在Cisco Unity 4.0系统的症状

因为基础组件不再能分配内存,用户能听到故障自动保险的会话(当Cisco Unity播放及时“抱歉时,临时地不可用的系统。请再试试以后”)和一个或很多这些错误在应用事件日志出现:

Event Source: CiscoUnity_ConvMsg
Event ID: 10015
Description:
IAvDohAttachments::get_All returned [0x8007000e] on line 191 of file 
e:\views\Unity4.0.1.55\un_Core2\ConversationEng\AvStateSvr\AvSMsgSend.cpp.

Event Source: CiscoUnity_ConvSubscriber
Event ID: 119
Description:
An unexpected error has occurred while a subscriber is on the phone 
with Unity. This can potentially result in the subscriber hearing the 
failsafe conversation. Technical details are - IAvDohMessages::get_All returned 
[0x8007000e] on line 899 of file 
e:\views\Unity4.0.1.55\un_Conv1\AvConvSubscriber\AvConvSubMsgCountSvr\AvSCOSAndMsgCount.cpp.

Event Source: CiscoUnity_Wav
Event ID: 806
Description:
Cisco Unity’s multi-media component has encountered a serious error.
Explanation:
A serious failure has occurred on port 5 while writing data to an audio stream. 
Depending upon the severity of the failure, parties on this call could experience 
unexpected behavior or be disconnected. In some cases, further calls on this 
port will not be handled correctly.
Technical Details:
Thread 0x00001564 had a Failure on Port 5 in AvWav
Description: 
File: e:\views\Unity4.0.1.55\un_Miu\UnityAvWav\STRMIO.CPP(267)
Method: StreamIoWrite
Failure: call to IStream:Write with error(8007000e).

Event Source: CiscoUnity_ConvAddrSearch
Event ID: 106
Description:
Unexpected error occurred in the Subscriber searcher conversation. 
Technical details - IAvDohComposites::AddMany returned [0x8007000e] 
on line 2159 of file 
e:\views\Unity4.0.1.55\un_Conv3\AvConvUtilities\AvConvAddrSearchSvr\AvSListNamesSetup.cpp 
For further investigation, please turn on all the diagnostics for Address Searcher.

Event Source: CiscoUnity_ConvAddrSearch
Event ID: 106
Description:
Unexpected error occurred in the Subscriber searcher conversation. 
Technical details - SortObjectsInIterator returned [0x8007000e] on line 
1373 of file 
e:\views\Unity4.0.1.55\un_Conv3\AvConvUtilities\AvConvAddrSearchSvr\AvSListNamesSetup.cpp 
For further investigation, please turn on all the diagnostics for Address Searcher.

Event Source: CiscoUnity_ConvAddrSearch
Event ID: 106
Description:
Unexpected error occurred in the Subscriber searcher conversation. 
Technical details - AddNamesToSelectionList returned [0x8007000e] on line 263 of file
e:\views\Unity4.0.1.55\un_Conv3\AvConvUtilities\AvConvAddrSearchSvr\AvSListNamesSetup.cpp 
For further investigation, please turn on all the diagnostics for Address Searcher.

Event Source: CiscoUnity_ConvAddrSearch
Event ID: 106
Description:
Unexpected error occurred in the Subscriber searcher conversation. 
Technical details - GetObjectList returned [0x8007000e] on line 482 of file 
e:\views\Unity4.0.1.55\un_Conv3\AvConvUtilities\AvConvAddrSearchSvr\AvSListNamesSetup.cpp 
For further investigation, please turn on all the diagnostics for Address Searcher.

条件

如果在Cisco Unity系统的虚拟内存使用情况是非常接近2 GB限制,这些症状能发生。然而, 2 GB阈值是理论极限,并且Cisco Unity系统启动显示这些问题,当虚拟内存使用情况超出1.65 GB时(或在系统的2.4 GB,并且使用/3GB交换机)的Run窗口高级服务器。问题是可能发生在高端系统(超过48个端口和2,500个用户)有大容积的语音呼叫流量。虚拟内存分段不影响正常功能或性能,直到Cisco Unity系统超出1.65 GB限制(或在系统的2.4 GB,并且使用/3GB交换机)的Run窗口高级服务器。

解决方案

Cisco Unity 3.0(1)到4.0(1)在Windows 2000服务器的系统

选择这些解决方案之一:

  • 升级对与SR1的Cisco Unity 4.0(3)并且请使用HeapDeCommitFreeBlockThreshold设置(请参阅Cisco Unity 4.0(2)至4.0(3)及以后系统关于详细信息)。

  • 当虚拟字节计数器到达1.65 GB时,请重新启动Cisco Unity系统。

Cisco Unity 3.0(1)到3.1(4)在Windows 2000 Advanced Server的系统

选择这些解决方案之一:

  • 升级对与SR1的Cisco Unity 4.0(3)并且请使用HeapDeCommitFreeBlockThreshold设置(请参阅Cisco Unity 4.0(2)至4.0(3)及以后系统关于详细信息)。

  • 当虚拟字节计数器到达1.65 GB时,请重新启动Cisco Unity系统。

Cisco Unity 3.1(5)到4.0(1)在Windows 2000 Advanced Server的系统

选择这些解决方案之一。

  • 升级对与SR1的Cisco Unity 4.0(3)并且请使用HeapDeCommitFreeBlockThreshold设置(请参阅Cisco Unity 4.0(2)至4.0(3)及以后系统关于详细信息)。

  • 遵从在此部分的说明使用/3GB交换机,并且做调整对Windows 2000 Advanced Server内存管理。在系统显示从虚拟内存分段前的问题这些更改增加相当数量在Cisco Unity系统的虚拟内存联机并且延长期限。

    警告 警告: 在您启用/3GB交换机以后,非常重要的是您监控AvCsMgr虚拟内存。如果潜在问题原因在AvCsMgr虚拟内存分段增加, Cisco Unity系统能仍然显示问题。如果虚拟字节计数器到达2.4 GB,请重新启动Cisco Unity系统。

    注意: 如果运行Windows 2000服务器,请勿执行此步骤。此步骤设计为仅使用用Windows 2000 Advanced Server。

第I部分–启用/3GB交换机

完成下面这些步骤。

  1. 在Cisco Unity系统上,打开从<root directory> \ Boot.ini的Boot.ini文件的使用Notepad, <root directory>是目录操作系统二进制安装。

  2. 通过添加/3GB参数修改Boot.ini到起始线路。例如,

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000
    Advanced Server" /fastdetect /3GB
  3. 保存Boot.ini文件。

  4. 4. 如果使用Cisco Unity版本3.1(5),请安装CiscoUnity3.1(5)_ES20,从Cisco技术支持是可得到。如果使用Cisco Unity版本3.1(6)到4.0(1),请继续第II部分–设了页面表条目注册表设置

第II部分–集合页面表条目注册表设置

使用/3GB交换机,这些注册表项设计增加相当数量页面表条目增加在Cisco Unity系统的系统稳定性。

  1. 开始登记编辑(Regedit.exe)。

    警告 警告: 如果您更换错误注册表密钥或输入不正确的值,这可能造成服务器发生故障。在您编辑注册表前,请确认您明白如何在问题发生时恢复。(请参见在注册表编辑器帮助的“恢复”主题。)注意为Cisco Unity故障切换,在另一个Cisco Unity服务器必须手工做在一个Cisco Unity服务器的注册表更改,因为注册表更改没有复制。如果有关于如何的任何问题更改注册关键设置,与思科技术支持联系。

  2. 如果没有注册的一个当前备份,请选择Registry > Export Registry File,并且保存注册表设置到文件。

  3. 展开HKEY_LOCAL_MACHINE \系统\ Currentcontrolset \控制\会话管理器\内存管理密钥。

  4. 双击LargeSystemCache值。

  5. 更改值对0x00000000 (0)

  6. 双击PagedPoolSize值。

  7. 更改值对0x00000000 (0)

  8. 双击SystemPages值。

    注意: 保留当前值的记录SystemPages的。如果删除/3GB交换机,您需要恢复此值。

  9. 更改值对0xffffffff (4294967295)

  10. 用鼠标右键单击并且选择。然后请选择DWORD值。

  11. 给出值PoolUsageMaximum

  12. 双击PoolUsageMaximum值。

  13. 更改值对0x0000003c (60)

  14. 关闭 Registry Editor.

  15. 重新启动Cisco Unity服务器为了更改能生效。

    注意: 在使用/3GB交换机和第三方语音卡集成的Cisco Unity系统上,有问题的行为被观察了,当尝试安装或升级Cisco Unity软件时。Cisco Bug ID CSCdw36215 (仅限注册用户)描述症状和应急方案此的。

Cisco Unity 4.0(2)至4.0(3)及以后系统

此步骤做调整对Windows 2000内存管理为了提供虚拟内存使用更加好的控制和减少虚拟内存分段,不用使用/3GB交换机。它也应用存储器分配修正可用在Cisco Unity 4.0(2)和Cisco Unity 4.0(3)。

注意: 在Cisco Unity 4.0(4),设置检测,当系统有2 GB或更多RAM时和自动地启用在第I部分中描述的注册表设置–请启用“HeapDeCommitFreeBlockThreshold”注册表项

两个已知缺陷造成在Unity 4.0系统的虚拟内存分段:Cisco Bug ID CSCec32012 (仅限注册用户)和CSCed41828 (仅限注册用户)。基于在服务器安装的Cisco Unity版本,请下载从Cisco.com的可适用的更新:

  • 对于Cisco Unity 4.0(3),请安装最新的服务版本。(请注意Cisco Unity的4.0(3) SR1也要求4.0(3) ES64)。

  • 对于Cisco Unity 4.0(2)系统,对Cisco Unity 4.0(3)和4.0(3) SR1安装的升级不是选项,请安装CiscoUnity4.0(2)_ES42和CiscoUnity4.0(2)_ES43。

第I部分–启用“HeapDeCommitFreeBlockThreshold”注册表项

在此部分指定的HeapDeCommitFreeBlockThreshold修改在Windows 2000服务器或Windows 2000 Advanced Server供仅使用使用用有2 GB或更多RAM的Cisco Unity系统,该运行。

  1. 开始登记编辑(Regedit.exe)。

    警告 警告: 如果您更换错误注册表密钥或输入不正确的值,这可能造成服务器发生故障。在您编辑注册表前,请确认您明白如何在问题发生时恢复。(请参见在注册表编辑器帮助的“恢复”主题。)注意为Cisco Unity故障切换,在另一个Cisco Unity服务器必须手工做在一个Cisco Unity服务器的注册表更改。这是因为注册表更改没有复制。如果有关于如何的任何问题更改注册关键设置,与思科技术支持联系。

  2. 如果没有注册的一个当前备份,请选择Registry > Export Registry File,并且保存注册表设置到文件。

  3. 展开HKEY_LOCAL_MACHINE \系统\ Currentcontrolset \控制\会话管理器密钥。

  4. 双击HeapDeCommitFreeBlockThreshold值。

  5. 更改值对0x00040000 (262,144)

  6. 单击 Ok

  7. 关闭 Registry Editor.

  8. 重新启动Cisco Unity服务器使更改生效。

第II部分–删除/3GB交换机

在您完成第I部分后, Cisco Unity服务器不再要求/3GB交换机。如果系统使用/3GB交换机,请务必从Boot.ini文件删除交换机和继续PartIII。

  1. 在Cisco Unity系统上,打开从<root directory> \ Boot.ini的Boot.ini文件的使用Notepad, <root directory>是目录操作系统二进制安装。

  2. 通过删除,若有, /3GB参数修改Boot.ini从起始线路。

    例如,请更改此从:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000
    Advanced Server" /fastdetect /3GB

    到:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000
    Advanced Server" /fastdetect
  3. 保存Boot.ini文件。

Part III –恢复系统页面表条目注册表设置

如果修改了注册表设置,当您启用/3GB交换机,请恢复他们对最初值,即然/3 GB交换机删除。

  1. 开始登记编辑(Regedit.exe)。

    警告 警告: 如果您更换错误注册表密钥或输入不正确的值,它可能造成服务器发生故障。在您编辑注册表前,请确认您明白如何在问题发生时恢复。(请参见在注册表编辑器帮助的“恢复”主题。)注意为Cisco Unity故障切换,在另一个Cisco Unity服务器必须手工做在一个Cisco Unity服务器的注册表更改,因为注册表更改没有复制。如果有关于更改注册关键设置的任何问题,请与思科技术支持联系。

  2. 如果没有注册的一个当前备份,请选择Registry > Export Registry File,并且保存注册表设置到文件。

  3. 展开HKEY_LOCAL_MACHINE \系统\ Currentcontrolset \控制\会话管理器\内存管理密钥。

  4. 双击LargeSystemCache值。

  5. 更改值对0x00000000 (0)

  6. 双击PagedPoolSize值。

  7. 更改值对0x00000000 (0)

  8. 双击SystemPages值。

  9. 恢复到位的最初值,当/3GB交换机启用,或者使用默认值0x00000000 (0)

  10. 点击PoolUsageMaximum值突出显示它。

  11. 选择编辑,然后删除

  12. 单击 Yes

  13. 关闭 Registry Editor.

  14. 重新启动Cisco Unity服务器使更改生效。

Error:必要的虚拟内存运行您的Exchange服务器被分段,在这种情况下性能能受影响

在与Exchange 2000 SP3, Unity失败和用户体验高CPU、缓慢的响应时间和延迟的Cisco Unity 4.x。Cisco Unity应用事件日志报告此错误消息:

Event Type: Error
  Event Source: MSExchangeIS
  Event Category: Performance
  Event ID: 9582 The virtual memory necessary to run the Exchange server is fragmented 
  in such a way that normal operation may begin to fail. It is highly recommended that 
  you restart all Exchange services to correct this issue.

当虚拟内存分段在您的Exchange 2000计算机时,发生此问题能出现。并且,此问题能出现,当服务器有IMAP4用户时和这些用户登录或者注销。

解决方案

为了解决此问题,参考Microsoft KB条款883527leavingcisco.com


相关信息


Document ID: 51477