Skip to content

Commit

Permalink
Align new calculations to prior field definitions
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Widdis <widdis@gmail.com>
  • Loading branch information
dbwiddis committed Oct 19, 2022
1 parent 86d538e commit 326496b
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions psutil/_psutil_windows.c
Original file line number Diff line number Diff line change
Expand Up @@ -610,35 +610,35 @@ psutil_proc_memory_uss(PyObject *self, PyObject *args) {
*/
static PyObject *
psutil_virtual_mem(PyObject *self, PyObject *args) {
size_t total, avail, vTotal, vAvail, pageSize;
size_t totalPhys, availPhys, totalPageFile, availPageFile, pageSize;
PERFORMANCE_INFORMATION perfInfo;
if (! GetPerformanceInfo(&perfInfo, sizeof(PERFORMANCE_INFORMATION))) {
PyErr_SetFromWindowsErr(0);
return NULL;
}
pageSize = perfInfo.PageSize;
total = perfInfo.PhysicalTotal * pageSize;
avail = perfInfo.PhysicalAvailable * pageSize;
vTotal = perfInfo.CommitLimit * pageSize;
vAvail = vTotal - perfInfo.CommitTotal * pageSize;
totalPhys = perfInfo.PhysicalTotal * pageSize;
availPhys = perfInfo.PhysicalAvailable * pageSize;
totalPageFile = perfInfo.CommitLimit * pageSize;
availPageFile = totalPageFile - perfInfo.CommitTotal * pageSize;
// PERFORMANCE_INFORMATION values are defined as SIZE_T which on 64bits
// is an (unsigned long long) and on 32bits is an (unsigned int).
#if defined(_WIN64)
return Py_BuildValue("(LLLLLL)",
(unsigned long long) total,
(unsigned long long) avail,
(unsigned long long) vTotal - total,
(unsigned long long) vAvail - avail,
(unsigned long long) vTotal,
(unsigned long long) vAvail);
(unsigned long long) totalPhys,
(unsigned long long) availPhys,
(unsigned long long) totalPageFile,
(unsigned long long) availPageFile,
(unsigned long long) (totalPhys + totalPageFile),
(unsigned long long) (availPhys + availPageFile));
#else
return Py_BuildValue("(IIIIII)",
(unsigned int) total,
(unsigned int) avail,
(unsigned int) vTotal - total,
(unsigned int) vAvail - avail,
(unsigned int) vTotal,
(unsigned int) vAvail);
(unsigned int) totalPhys,
(unsigned int) availPhys,
(unsigned int) totalPageFile,
(unsigned int) availPageFile,
(unsigned int) (totalPhys + totalPageFile),
(unsigned int) (availPhys + availPageFile));
#endif
}

Expand Down

0 comments on commit 326496b

Please sign in to comment.