Skip to main content

Windows Performance Monitoring - "Packets Received Discarded" Never Changes [Resolved]

I wrote the following short PowerShell script to help diagnose some performance issues on a server:

$counters = @("\Process(*)\% Processor Time","\Process(*)\Working Set","\Process(*)\IO Read Bytes/sec","\Process(*)\IO Write Bytes/sec","\Process(*)\IO Data Bytes/sec","\Network Interface(*)\Bytes Total/sec","\Network Interface(*)\Packets/sec","\Network Interface(*)\Packets Received Discarded","\Network Interface(*)\Packets Received Errors","\Network Interface(*)\Packets Outbound Discarded","\Network Interface(*)\Packets Outbound Errors")

$timeout = new-timespan -Seconds 10
$sw = [diagnostics.stopwatch]::StartNew()
while ($sw.elapsed -lt $timeout)
    get-counter -counter $counters  | select -expand countersamples | select timestamp,path,instancename,cookedvalue | export-csv -append -notypeinformation "c:\misc\counters.txt"
    start-sleep -seconds 2
write-host "Finished"

The script works great and gives the values I need. However, when looking at the counter for "Packets Received Discarded", it never changes from the value "801".

What is the polling period for this counter? Does it reset on reboot? I couldn't find any documentation anywhere that shows when it resets to 0.

The link from Microsoft ( states:

Shows the number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space.

... which still doesn't state the timeframe.

Someone else asked this on TechNet in 2015 and didn't get an answer (

Please help. Thanks.

Question Credit: Nick Simonian
Question Reference
Asked December 5, 2018
Posted Under: Network
Your Answer