Virtual memory, RAM, CPU usage by system or process
To use this package, run the following command in your project's root directory:
Put the following dependency into your project's dependences section:
This package provides sub packages which can be used individually:
resusage:totalusage - A minimal D application.
resusage:processusage - A minimal D application.
resusage:cpuwatcher - A minimal D application.
Obtaining of virtual memory, RAM and CPU usage by the whole system or by single process.
Currently works on Linux and Windows. FreeBSD support is partial - only system-wide memory information can be retrieved now.
dub build --build=docs
dub build --build=ddox
// import module import resusage.memory; // or the whole package import resusage; // get system memory usage SystemMemInfo sysMemInfo = systemMemInfo(); // access properties sysMemInfo.totalRAM; sysMemInfo.usedRAM; sysMemInfo.freeRAM; sysMemInfo.totalVirtMem; sysMemInfo.usedVirtMem; sysMemInfo.freeVirtMem; // actualize values after some amount of time sysMemInfo.update(); // get memory usage of the current process ProcessMemInfo procMemInfo = processMemInfo(); // or pass process ID to get info about specific process int pid = ...; ProcessMemInfo procMemInfo = processMemInfo(pid); // access properties procMemInfo.usedVirtMem; procMemInfo.usedRAM; // actualize values after some amount of time procMemInfo.update(); //import module import resusage.cpu; // create watcher to watch system CPU auto cpuWatcher = new SystemCPUWatcher(); // get actual value when needed double percent = cpuWatcher.current(); // create CPU watcher for current process auto cpuWatcher = new ProcessCPUWatcher(); // or for process with given id int pid = ...; auto cpuWatcher = new ProcessCPUWatcher(pid); // get actual value when needed double percent = cpuWatcher.current();
Prints total amount of virtual and physical memory (in bytes) and their current usage in the system (in percents).
dub run resusage:totalusage
Prints amount of virtual and physical memory currently used by process, in bytes.
dub run resusage:processusage -- `pidof process`
Watch system CPU time:
dub run resusage:cpuwatcher
Watch process CPU time:
dub run resusage:cpuwatcher -- `pidof process`
Platform notes and implementation details
In order to provide some functionality resusage dynamically loads the following libraries at startup:
- Psapi.dll to get memory (physical and virtual) used by specific process.
- Pdh.dll to calculate CPU time used by system.
If specific library could not be loaded, corresponding functions will always throw WindowsException.
Uses sysinfo and proc stats.
Uses sysctl to get RAM and libkvm to get swap memory to calculate virtual memory.
- Registered by Roman Chistokhodov
- 0.2.2 released 5 years ago
- Sub packages:
- resusage:totalusage, resusage:processusage, resusage:cpuwatcher
0.3.2 2020-Feb-21 0.3.1 2020-Feb-21 0.3.0 2019-Jul-26 0.2.8 2018-May-05 0.2.7 2017-Jul-01
- Download Stats:
0 downloads today
0 downloads this week
4 downloads this month
7944 downloads total
- Short URL: