Memory leak with latest version

matkorn

Active Member
Im making some test renaming the nvapi...

So you get the hardware information from nvapi and nvml? because i have renamed nvapi and almost all the monitors dissapeared, but knows what? memory is stable, even decreasing!
 

Martin

HWiNFO Author
Staff member
matkorn said:
So you get the hardware information from nvapi and nvml? because i have renamed nvapi and almost all the monitors dissapeared, but knows what? memory is stable, even decreasing!
That depends on the GPU model (family), but for later NVIDIA GPUs almost all GPU information is retrieved via NVAPI / NVML.
The exception is "GPU Temperature (HW)", which is read straight from hardware without the need for drivers.
 

Martin

HWiNFO Author
Staff member
Best would be to remove NVAPI / NVML support completely until NVIDIA fixes it.
 

matkorn

Active Member
I did that and used hwinfo + gpuz for making an stress test to know if the memory rise and it caused a nvidia kernel restart following with flickerings, it seems that if i mix other versions of nvapi it may cause some kind of bug to the video card, the only way i solved it was powering off the laptop and then power on again.

After that i made an stress test again with only gpu data adquiered from hardware and is working normally, i even have only 4mb used by hwinfo... really strange.
 

matkorn

Active Member
I wanna inform you that sometimes all the thing works fine and sometimes not, i dont know why butt it happens from time to time, maybe is really a problem from hwinfo, because sometimes the memory load goes down to 5 mb when the program auto start, i checked with task manager on the windows startup and i so it starts at 18 mb and then when the icon appear on the taskbar starts decreasing to like 5 mb
 

Martin

HWiNFO Author
Staff member
That's normal - initially HWiNFO allocates more memory for certain functions and later when it doesn't need it, it's released.
Problem is only when the memory usage grows constantly.
 

matkorn

Active Member
I have even disable from hwinfo the usage of nvapi and im using HW monitor for only gpu and is still having the memory bug... so it seems is not really nvapi the problem
 

Martin

HWiNFO Author
Staff member
Even if you disable all items on the GPU sensor (except the sensor heading), there are still a few NVAPI queries made. Only if you disable the entire sensor then all NVAPI queries are disabled.
 

Martin

HWiNFO Author
Staff member
One method would be to find and rename the nvapi64.dll to something else and then start HWiNFO.
If that won't work, I'll need to implement a switch which would disable NVAPI in HWiNFO.
 

RobertR

Member
A year later, and I found this thread while trying to gain a broader context for something I am seeing with GPU-Z. :)

On their forums, I have inquired about a fairly gross memory leak exhibited by GPU-Z after I acquired my shiny new NVidia GTX 1070 - and the esteemed W1zzard offered the possibility that it was caused by an NVidia library...

So, was there any further resolution on this front?  I notice that, on the same system, HWiNFO doesn't appear to exhibit the same memory-leaking behavior (to be clear, by "memory leak" I am referring to a monotonic increase in the size of the process' working set).

Is it possible that whatever HWiNFO is doing to avoid/mitigate this problem could be applicable to another monitoring app finding itself in the same (or similar) position?
 

Martin

HWiNFO Author
Staff member
I haven't made any change to HWiNFO to mitigate this problem. Since I haven't got any further reports I assumed this might be somehow resolved by NVIDIA meanwhile.
To prove if it's really an NVIDIA problem, and more specifically NVAPI, I suggest to try the method described in my previous post and see the results.

BTW, in the GPU crunching community some users have also experienced memory leaks with the Pascal family, but these were not related to system monitoring tools like HWiNFO or GPU-Z, rather general CUDA/kernel leaks: https://einsteinathome.org/content/memory-depletion-graphics-driver-related
 

RobertR

Member
Hmm, well, thanks Martin. ;)

Even though (if I understood your suggestion) I don't think GPU-Z can operate without nvapi, I went ahead and tried that... and yup, it starts, with almost no data displayed past what it gets from the DB lookup on the card.

Also, my observation is specifically tied to the WS of the GPU-Z process, not any larger system-wide picture.

So, either you are getting almost everything related to the GTX 1070 without using nvapi (which doesn't go with what you say above), or there is something about the specific way HWiNFO uses nvapi that avoids whatever memory problems it may have... W1zzard suggested that he might look into doing something like unloading/reloading the [nvapi] DLL every few hundred calls (or similar), possibly allowing the unload-related cleanup to help out.
 

Martin

HWiNFO Author
Staff member
I'm using NVAPI too for almost all NVIDIA GPU-related queries, so yes, the difference might be that we call the functions differently.
When you started GPU-Z without NVAPI, have you seen the memory leak ?
 
Top