Hacked By AnonymousFox
Current Path : C:/Windows/PLA/Rules/ |
|
Current File : C:/Windows/PLA/Rules/Rules.System.Memory.xml |
<?xml version="1.0" encoding="UTF-8"?>
<?Copyright (c) Microsoft Corporation. All rights reserved.?>
<Rules>
<Group name="$(GroupMemory)">
<Rule name="$(RuleMemoryTable)">
<Step select="/Report/Section[@name='tracerptMemory']" fatal="true">
<Exists>
<Otherwise>
<Insert select=".">
<Node>
<Table name="TableWorkingSet" topic="process" key="500">
<Summary key="500" find="top" field="private" topic="memory">
<Data name="process" label="topMemoryInstance"/>
<Data name="private" units="KB" label="topPrivate" format="#,##0"/>
</Summary>
<Header>
<Threshold type="top" field="count" value="10"/>
<Sort field="private" type="number" order="descending"/>
<Data name="process" class="string"/>
<Data name="pid" class="string"/>
<Data name="memoryVirtual" units="KB" class="number" format="#,##0"/>
<Data name="memoryWorkingSet" units="KB" class="number" format="#,##0"/>
<Data name="shareable" units="KB" class="number" format="#,##0"/>
<Data name="private" units="KB" class="number" format="#,##0"/>
</Header>
</Table>
</Node>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryPidMap']/Item[not(Data[@name='instance'] = '_Total')]" sortType="all">
<Exists>
<Otherwise>
<Variable name="instance" expression="Data[@name='instance']"/>
<Insert select="/Report/Section[@name='tracerptMemory']/Table[@name='TableWorkingSet']">
<Node document="{_document}" select="/Report/Section/Table[@name='memoryPidMap']/Item[Data[@name='instance'] = '{instance}']"/>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryVirtual']/Item[not(Data[@name='instance'] = '_Total')]" sortType="all">
<Exists>
<Otherwise>
<Variable name="instance" expression="Data[@name='instance']"/>
<Insert select="/Report/Section[@name='tracerptMemory']/Table[@name='TableWorkingSet']/Item[Data[@name='instance'] = '{instance}']">
<Node document="{_document}" select="/Report/Section/Table[@name='memoryVirtual']/Item[Data[@name='instance'] = '{instance}']/Data[@name='max']"/>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryWorkingSet']/Item[not(Data[@name='instance'] = '_Total')]" sortType="all">
<Exists>
<Otherwise>
<Variable name="instance" expression="Data[@name='instance']"/>
<Insert select="/Report/Section[@name='tracerptMemory']/Table[@name='TableWorkingSet']/Item[Data[@name='instance'] = '{instance}']">
<Node document="{_document}" select="/Report/Section/Table[@name='memoryWorkingSet']/Item[Data[@name='instance'] = '{instance}']/Data[@name='max']"/>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryWorkingSetPrivate']/Item[not(Data[@name='instance'] = '_Total')]" sortType="all">
<Exists>
<Otherwise>
<Variable name="instance" expression="Data[@name='instance']"/>
<Insert select="/Report/Section[@name='tracerptMemory']/Table[@name='TableWorkingSet']/Item[Data[@name='instance'] = '{instance}']">
<Node document="{_document}" select="/Report/Section/Table[@name='memoryWorkingSetPrivate']/Item[Data[@name='instance'] = '{instance}']/Data[@name='max']"/>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='TableWorkingSet']/Item" sortType="all">
<Exists>
<Otherwise>
<Variable name="pid" expression="Data[2]"/>
<Variable name="commit" expression="Data[3] div 1024"/>
<Variable name="workingSet" expression="Data[4] div 1024"/>
<Variable name="private" expression="Data[5] div 1024"/>
<Variable name="shared" expression="{workingSet} - {private}"/>
<Delete select="Data[@name='max']"/>
<Insert select=".">
<Node>
<Data name="pid">{pid}</Data>
<Data name="memoryVirtual">{commit}</Data>
<Data name="memoryWorkingSet">{workingSet}</Data>
<Data name="shareable">{shared}</Data>
<Data name="private">{private}</Data>
</Node>
</Insert>
<Insert select="Data[@name='instance']">
<Attribute name="name" value="process"/>
</Insert>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryWorkingSet']">
<Exists>
<Otherwise>
<Delete select="."/>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryWorkingSetPrivate']">
<Exists>
<Otherwise>
<Delete select="."/>
</Otherwise>
</Exists>
</Step>
<Step select="/Report/Section/Table[@name='memoryVirtual']">
<Exists>
<Otherwise>
<Delete select="."/>
</Otherwise>
</Exists>
</Step>
</Rule>
<Rule name="$(RuleReduceHandleTable)" enabled="true">
<Step select="/Report/Section/Table[@name='handleCount']" fatal="true">
<Exists>
<Otherwise>
<Insert select="Header/Sort">
<Node axis="preceding-sibling">
<Threshold type="top" field="count" value="10"/>
<Sort field="mean" type="number" order="descending"/>
</Node>
</Insert>
</Otherwise>
</Exists>
</Step>
</Rule>
<Rule name="$(RuleFreeSystemPTE)" enabled="true">
<Step select="/Report/Section[@name='tracerptMemory']/Table[@name='memory']/Item[Data[@name='counter']='Free System Page Table Entries']" fatal="true">
<Variable name="freesyspte" expression="Data[@name='mean']"/>
<Exists>
<When expression="({freesyspte} < 5000) or ({freesyspte} < 10000 and {freesyspte} >= 5000)">
<Variable name="internalruleindex" expression="{internalruleindex} + 1"/>
<Variable name="RuleFreeSystemPTE_symptom">$(WarnFreeSystemPTE_symptom)</Variable>
<Variable name="RuleFreeSystemPTE_cause">$(WarnFreeSystemPTE_cause)</Variable>
<Variable name="RuleFreeSystemPTE_details">$(WarnFreeSystemPTE_details)</Variable>
<Variable name="RuleFreeSystemPTE_res1">$(WarnFreeSystemPTE_res1)</Variable>
<Variable name="RuleFreeSystemPTE_res2">$(WarnFreeSystemPTE_res2)</Variable>
<Variable name="RuleFreeSystemPTE_related1">$(WarnFreeSystemPTE_related1)</Variable>
<Warning tag="RuleFreeSystemPTE_{internalruleindex}" select="Data[@name='mean']" table="/Report/Section[@name='advice']/Table[@name='warning']">
<Item>
<Data name="symptom" img="warning" link="RuleFreeSystemPTE_{internalruleindex}" message="RuleFreeSystemPTE_{internalruleindex}" translate="value">{RuleFreeSystemPTE_symptom}</Data>
<Data name="cause" message="RuleFreeSystemPTE_{internalruleindex}">{RuleFreeSystemPTE_cause}</Data>
<Data name="details" message="RuleFreeSystemPTE_{internalruleindex}">{RuleFreeSystemPTE_details}</Data>
<Data name="resolution" message="RuleFreeSystemPTE_{internalruleindex}">{RuleFreeSystemPTE_res1}</Data>
<Data name="resolution" message="RuleFreeSystemPTE_{internalruleindex}">{RuleFreeSystemPTE_res2}</Data>
<Data name="related" url="http://go.microsoft.com/fwlink/?LinkID=70119" message="RuleFreeSystemPTE_{internalruleindex}">{RuleFreeSystemPTE_related1}</Data>
</Item>
</Warning>
</When>
</Exists>
</Step>
</Rule>
<Rule name="$(RuleCheckAvailMemory)" enabled="true">
<Step select="/Report/Section/Table[@name='memory']/Item[Data[@name='counter']='Available Bytes']">
<Variable name="avamem" expression="Data[@name='mean']"/>
<Variable name="availablemem" expression="{avamem} div 1048576"/>
<Variable name="prettyavailablemem" expression="round('{availablemem}')"/>
<Variable name="ratiomem" expression="{availablemem} div {physicalmem}"/>
<Variable name="mem" expression="format-number({ratiomem} * 100,'0')"/>
<Exists>
<Otherwise/>
</Exists>
</Step>
<Step select="/Report/Section[@name='tracerptDisk']/Table[@name='hotFile']/Item" sortType="all">
<Variable name="hotfilename" expression="Data[@name='file']"/>
<Exists>
<When expression="{mem} <= 20 and contains('{hotfilename}', 'pagefile')">
<Variable name="internalruleindex" expression="{internalruleindex} + 1"/>
<Variable name="rulePaging_symptom">$(WarnPaging_symptom)</Variable>
<Variable name="rulePaging_cause">$(WarnPaging_cause)</Variable>
<Variable name="rulePaging_details">$(WarnPaging_details)</Variable>
<Variable name="rulePaging_res1">$(WarnPaging_res1)</Variable>
<Variable name="rulePaging_related1">$(WarnPaging_related1)</Variable>
<Warning tag="rulePaging_{internalruleindex}" select="/Report/Section[@name='tracerptDisk']/Table[@name='hotFile']" table="/Report/Section[@name='advice']/Table[@name='warning']">
<Item>
<Data name="symptom" img="warning" link="rulePaging_{internalruleindex}" message="rulePaging_{internalruleindex}" translate="value">{rulePaging_symptom}</Data>
<Data name="cause" message="rulePaging_{internalruleindex}">{rulePaging_cause}</Data>
<Data name="details" message="rulePaging_{internalruleindex}">{rulePaging_details}</Data>
<Data name="resolution" message="rulePaging_{internalruleindex}">{rulePaging_res1}</Data>
<Data name="related" url="http://go.microsoft.com/fwlink/?LinkID=70118">{rulePaging_related1}</Data>
</Item>
</Warning>
</When>
</Exists>
</Step>
</Rule>
</Group>
<StringTable>
<String ID="GroupMemory">Memory</String>
<String ID="RuleCheckAvailMemory" loc.comment="Name of rule seen in WPDC">Check available memory</String>
<String ID="RuleMemoryTable">Memory Utilization Table</String>
<String ID="RuleReduceHandleTable">Adjust Handle Table</String>
<String ID="RuleFreeSystemPTE">Check on System Page Table Entries Free</String>
<String ID="WarnFreeSystemPTE_symptom" loc.comment="Symptom string for warning message: WarnFreeSystemPTE">Free System Page Table Entries (PTE) Performance counter average is low</String>
<String ID="WarnFreeSystemPTE_cause" loc.comment="Cause string for warning message: WarnFreeSystemPTE">Too many System PTE are in use.</String>
<String ID="WarnFreeSystemPTE_details" loc.comment="Details string for warning message: WarnFreeSystemPTE">There are {freesyspte} free entries.</String>
<String ID="WarnFreeSystemPTE_res1" loc.comment="Resolution string for warning message: WarnFreeSystemPTE">1. Verify the condition still exists.</String>
<String ID="WarnFreeSystemPTE_res2" loc.comment="Resolution string for warning message: WarnFreeSystemPTE">2. Close any unused applications.</String>
<String ID="WarnFreeSystemPTE_related1" loc.comment="First resolution detail string for warning message: WarnFreeSystemPTE">Virtual Memory</String>
<String ID="WarnPaging_symptom" loc.comment="Symptom string for warning message: WarnPaging">The system is experiencing excessive paging</String>
<String ID="WarnPaging_cause" loc.comment="Cause string for warning message: WarnPaging">Available memory on the system is low.</String>
<String ID="WarnPaging_details" loc.comment="Details string for warning message: WarnPaging">The total physical memory on the system is not capable of handling the load.</String>
<String ID="WarnPaging_res1" loc.comment="Resolution string for warning message: WarnPaging">Upgrade the physical memory or reduce system load</String>
<String ID="WarnPaging_related1">Memory Diagnosis</String>
</StringTable>
</Rules>
Hacked By AnonymousFox1.0, Coded By AnonymousFox