Friday, September 21, 2012

ASUS Com Service (atkexComSvc.exe) Memory Leak Work Around

The Problem
So I have noticed after leaving my fairly new PC on (only about 6-9 months old now) for about a week, I was losing a tremendous amount of memory and I couldn't account for where it was going. I currently have 8GB of RAM - which I will soon be upgrading to 24 GB purely for vanity reasons - and I noticed my system was using 6/8 GB of RAM! This is shocking because all I have been doing was development work, nothing major. So even after killing all of my development related programs (VS, SSMS, SQL Server, Millions of Chrome Windows, Snaggit etc...) I was still up to about 4-5GB which is incredibly unusual.

After some investigating in the task manager, I realized I wasn't showing all processes from all users. After ticking that box I found my culprit, a Com Service that talks to the BIOS, provided by ASUS for my ASUS P8Z68-V GEN3 Motherboard.

The Gotcha
There is a process named atkexComSvc.exe that has a very bad memory leak. The memory leak is so bad that after a week of my computer being on it racked up about 3GB of memory. That is horrific. Still not really knowing exactly what the problem is, I restarted my computer and problem solved. However restarting your computer isn't something you want to realistically do every day so I have a temporary work around for this minor annoyance.

Currently only using about 6.7 MB, wait about 20 minutes and it will be 12 MB...
The Solution
Well since this process is running and you know you didn't start it, that means it runs automatically at start up and since it ends in Svc, we can assume it is a Windows Service, of course not all windows services end in Svc... Anyhow, open up your Windows Services (Control Panel > System and Security > Administrative Tools > Services Shortcut) and search for what you see in the image below:

Highlighted in blue is the name of our Concern "ASUS Com Service"
If you are currently suffering from System Memory Loss from this service, go ahead and restart it. You can right click and select restart or use the menu on the left shown in the image above.

To verify that we have the right windows service (and process), right click on it and select "Properties".

Found the culprit process's Windows Service
So as you can see this service is automatically started and it spins up the process named "atkexComSvc.exe" as shown before in the Windows Task Manager. Well since all we can do right now to alleviate the memory leak is to restart the service, let's just do this every day automatically at about 5 AM. Sound good to you?

Notice the path to the service is conveniently shown, you can go there to do the next few steps.

Creating a Windows Task in Task Scheduler
So this is going to require a batch file, there are a number of ways of doing this, I just like using batch files for their simplicity.

Batch File Code
ECHO Stopping atkexComSvc.exe - ASUS Com Service
NET STOP "ASUS Com Service"
ECHO.
ECHO Starting atkexComSvc.exe - ASUS Com Service
NET START "ASUS Com Service"
REM PAUSE

Go ahead and throw that code into a file, name it whatever you want as long as the file extension ends in ".bat" so for example, I named my file "Restart Com Service.bat". You can double click on the file to execute it which is convenient at times for quick execution. The last line of the code is commented out by using the keyword REM. Only enable PAUSE (by removing the word REM) if you are debugging the script, otherwise your batch file's console window will show up at 5 AM and stay there until you press any key to make it go away.

I put this file into the same folder as the Com Service, not necessary, but I think it makes the most sense so you know where it is.


The location of the process (for me anyhow) is located here: C:\Program Files (x86)\ASUS\AXSP\1.00.14


Open up Task Scheduler (Control Panel > System and Security > Administrative Tools > Task Scheduler Shortcut) and you should see an ASUS folder. If you don't it doesn't matter, but just for organization I would add you task there. Right click on empty space and select Create Basic Task. Follow the prompts and when it asks you for the program/script, browse to the batch file we created earlier.

If you want to test your task after creating it, right click on it and select "run" from the context menu.

Don't worry if the service complains that it can't stop or anything - it might be in the middle of something OR if you already restarted it once and you are trying to restart it again, it might refuse you the second time. I encountered that problem. Either way the goal was to just make it empty out its memory allocations, so it could start filling up all over again.

Enjoy.

PS: If ASUS doesn't fix this soon, I think I am going to decompile the service and look for the problem myself. This is just ridiculous. Hopefully they fix this soon.
UPDATE: 01/13/2013 - I couldn't decompile this executable. It is not written in .Net because when I used Just Decompile from Telerik it wouldn't work and I tried a C/C++ decompiler but it blew up when I tried to use it. So I guess I will just try the old fashioned way, I will make a support ticket for this when I get around to it. If anyone knows how to decompile this executable I'd appreciate a clue.

12 comments:

  1. I ran into this in May of 2012, so don't hold your breath on Asus fixing it. I loved my last Asus board, but this is one of many problems I've had with my latest board. I don't think I could recommend Asus boards at the moment.

    ReplyDelete
    Replies
    1. I haven't done my homework yet, I need to see if there were any updates. If not - when I get a chance - I am going to decompile the code and take a look. However I am pretty sure I am not allowed to redistribute it. I really should have opened a support ticket, but I bet most users don't even realize that this is happening on their systems. Asus is probably counting on people to restart their machines daily.

      I hear you about not being able to recommend them at the moment, but I did a lot of research when I was looking for a board and this one seemed the least bad (sounds like an election...). That's how I tend to pick my hardware.

      Delete
  2. Same problem here, it seems to be the ASUS Fan XPert software (latest as of today).
    Mine just reachet 800mb...

    Apparently, while the ASUS solution works out-of-the-box, SpeedFan can do the same (board is P8Z77-V LX). A bit more configuration is needed, but IMHO it's much better.

    ReplyDelete
  3. I just made a regular bat file with the code since task scheduler was annoying, it works. but we shouldn't have to be doing this. My Mobo is a Rampage IV Extreme X79

    I just got the PC on like Dec 20th 2012, you'd think theyd have it fixed by now,

    ReplyDelete
    Replies
    1. I agree with you, I got my PC in March this is bullshit. I mean it could definitely be worse like random blue screens and other non-sense. I will be following up on this soon to see if there is a way to fix it if there isn't already a patch for it (doubtful).

      Delete
    2. Well I tried decompiling the executable - it was a no go. I am going to keep tinkering, but I don't suspect I will be successful. I will try contacting their support about this, but I wouldn't count on them caring at all.

      Delete
  4. I was baffled why after a while my system was running low on memory as well. Thanks Asus!

    Unfortunately I am having some issues with the fix. This is running cmd.exe as administrator:

    C:\bin>net stop "ASUS Com Service"
    The ASUS Com Service service is stopping.
    The ASUS Com Service service could not be stopped.

    Any ideas?

    ReplyDelete
    Replies
    1. That could be for a number of reasons. The first thing that comes to mind is if you just stopped it, trying to stop it again will show you that error. Otherwise it is just too busy to be stopped at the moment. Does that always happen?

      Delete
    2. What's probably happening is that the service is currently being used by an ASUS thermal monitoring application such as AI Suite II. You're going to have to close the application before stopping the service.

      Delete
  5. Look how many hits this page has had, I bought my asus in August 13, my file is in C:\Program Files (x86)\ASUS\AXSP\1.00.19 - the 19 would indicate that some sort of updating is going on! But, obviously the problem is still there, I'm here as media player started stuttering, off to task manager spot the culprit, end it and bang music back on!
    I was tempted to just rename/delete it but if it talks to the fan best not to eh?

    anyway thanks for that .bat fie, last time I used one of those was on a 486 (flying machine, 2 mb of ram!)

    ReplyDelete
  6. The ASUS com program is junk, but it is an optional piece of software. Simply don't install AI Suite or any other ASUS software. Install your OS from scratch, install the drivers only. Your memory leak will not exist. Edward - AllPCZone Technical Support

    ReplyDelete
  7. Ai suite is good app, but buggy as h***
    i came to this page because of bsod on every 3.rd boot. and root cause is ACPI\PNP0A0A

    ReplyDelete