When I clicked on Details and then clicked on the "Memory (private
working set)" column header to order the processes by memory consumption,
I saw that the 7 topmost consumers of memory were
MicrosoftEdgeCP.exe
processes, i.e.,
Microsoft Edge web browser processes.
When I opened a command prompt window and used the
tasklist
command to view information on the MicrosoftEdgeCP.exe
processes
running on the system, I saw the following:
C:\>tasklist /fi "imagename eq MicrosoftEdgeCP.exe" Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ MicrosoftEdgeCP.exe 3440 Console 2 18,952 K MicrosoftEdgeCP.exe 3232 Console 2 1,393,036 K MicrosoftEdgeCP.exe 7276 Console 2 34,356 K MicrosoftEdgeCP.exe 9716 Console 2 735,084 K MicrosoftEdgeCP.exe 13724 Console 2 27,832 K MicrosoftEdgeCP.exe 4128 Console 2 1,614,524 K MicrosoftEdgeCP.exe 13576 Console 2 5,780 K MicrosoftEdgeCP.exe 5776 Console 2 129,156 K MicrosoftEdgeCP.exe 11928 Console 2 386,600 K MicrosoftEdgeCP.exe 11304 Console 2 2,596 K MicrosoftEdgeCP.exe 6592 Console 2 124,668 K MicrosoftEdgeCP.exe 9800 Console 2 7,144 K MicrosoftEdgeCP.exe 14956 Console 2 377,904 K MicrosoftEdgeCP.exe 11772 Console 2 21,716 K MicrosoftEdgeCP.exe 6880 Console 2 385,308 K MicrosoftEdgeCP.exe 8408 Console 2 8,012 K MicrosoftEdgeCP.exe 15092 Console 2 123,716 K MicrosoftEdgeCP.exe 8536 Console 2 2,540 K MicrosoftEdgeCP.exe 11676 Console 2 55,160 K C:\>
To have just the amount of memory displayed for each process, I used a FOR /F loop - see Checking on process memory consumption on a Windows system for details on using the loop to view just processes memory consumption.
C:\>for /f "tokens=5" %g in ('tasklist /fi "imagename eq MicrosoftEdgeCP.exe" ^| find "MicrosoftEdgeCP.exe"') do @echo %g 9,812 1,405,424 23,728 689,756 49,420 1,668,052 7,064 157,392 389,412 2,492 47,892 7,092 385,388 18,236 387,592 8,044 107,520 2,932 24,720 57,816 C:\>
Checking the total memory usage for all Microsoft Edge
MicrosoftEdgeCP.exe
processes with the
showmemusage.bat batch file, I saw the following. Note, memory usage by
processes may fluctuate over time, so you may get different figures when you
check at different times.
C:\>"\users\public\documents\showmemusage.bat" MicrosoftEdgeCP.exe 5420752 K C:\>
So Microsoft Edge was using over 5 GB of the system's 8 GB of memory at the moment I ran the batch script. But the main question I had was which Microsoft Edge tabs were responsible for the highest memory utilization. I.e., how could I associate a process ID with the web page open in a particular tab.
The Windows Task Manager doesn't provide that capability, but another tool available from Microsoft, Process Explorer, can provide information to match a process ID with a system at the other end of a network connection. The utility can be downloaded from Microsoft at Process Explorer. When I ran that program, I saw the following information:
When I double-clicked on the Microsoft Edge process using the most memory, PID 4128, to see details, and then clicked on the TCP/IP tab for that process, Process Explorer didn't show any network connections for that process, though.
However, when I double-clicked on the process with PID 3232 to see details for that process and then clicked on the TCP/IP tab and unchecked "Resolve Addresses" to see the IP address for the remote system, i.e., the IP address for the web server to which the process connected, rather than the fully qualified domain name (FQDN), I saw it was connected to 72.45.50.168 on port 80, the port commonly used for unencrypted web server connections.
But checking the FQDN associated with that IP address with nslookup, I couldn't immediately identify the web server at the other end of the connection with an open tab in Micrsofot Edge.
C:\>nslookup 72.45.50.168 8.8.8.8 Server: google-public-dns-a.google.com Address: 8.8.8.8 Name: 72-45-50-168-static.gsv.md.atlanticbb.net Address: 72.45.50.168 C:\>
While trying to identify the culprit tabs associated with the highest memory usage, I closed a couple of tabs and then when I was about to check on another one, Microsoft Edge crashed. All of the Microsoft Edge processes disappeared and the memory and CPU usage plummeted.
Like the author of the article Microsoft Edge is a system hog and cannot be called 'power efficient', I haven't found Microsoft Edge to be better at handling memory than other browsers nor reliably stable. E.g., Microsoft Edge High Memory and CPU Utilization.
When I reopened Microsoft Edge, the previously opened tabs opened automatically, but I saw no increase in CPU usage and only a very modest increase in memory usage.
When I used the netstat command afterwards to check on whether connections to the 72.45.50.168 IP address were still listed, I saw the following:
C:\>netstat -an | find "72.45.50.168" TCP 192.168.0.20:56449 72.45.50.168:80 TIME_WAIT TCP 192.168.0.20:56450 72.45.50.168:80 TIME_WAIT TCP 192.168.0.20:56484 72.45.50.168:443 ESTABLISHED TCP 192.168.0.20:56488 72.45.50.168:443 ESTABLISHED TCP 192.168.0.20:56489 72.45.50.168:443 ESTABLISHED TCP 192.168.0.20:56490 72.45.50.168:443 CLOSE_WAIT TCP 192.168.0.20:56491 72.45.50.168:443 ESTABLISHED C:\>
But I still couldn't link any open tab in the Microsoft Edge browser to a webpage open at that IP address. Since I had previously installed Wireshark on the system for troubleshooting a network problem, I decided to use it to try to link a Microsoft Edge tab to a connection to that IP address. When I opened Wireshark, I found a newer version was available, so I installed the latest version of it. If Wireshark hadn't already been present on the system, I would have used HTTPSniffer from NirSoft, since, for this particular issue, it could provide a comparatively simiple way for me to look for a URL associated with an IP address.
When I opened Wireshark, I set the capture filter to be
host 72.45.50.168
for the "Local Area Connection", since that
was the network interface for the traffic.
I then clicked on Capture and selected Start to start capturing network traffic to/from the specified IP address.
But I didn't see any traffic.
And when I then checked for connectivity to the IP address again using netstat, netstat wasn't showing any connectivity at that time.
C:\>netstat -an | find "72.45.50.168" C:\>
The Task Manager wasn't showing any process consuming an excessive amount of memory, either.
So, in this instance, I was not able to pinpoint a website linked to a Microsoft Edge process consuming excessive memory, but I'm noting steps that can be taken to try to make such identifications and to calculate the total amount of memory being used by Microsoft Edge processes.
Related articles:
Microsoft Edge High Memory
and CPU Utilization
Date: Sunday May 29, 2016