> from ctypes import *
> from ctypes.wintypes import *
>
> class MEMORYSTATUSEX(Structure):
>    _fields_ = [
>        ('dwLength', DWORD),
>        ('dwMemoryLoad', DWORD),
>        ('ullTotalPhys', c_ulonglong),
>        ('ullAvailPhys', c_ulonglong),
>        ('ullTotalPageFile', c_ulonglong),
>        ('ullAvailPageFile', c_ulonglong),
>        ('ullTotalVirtual', c_ulonglong),
>        ('ullAvailVirtual', c_ulonglong),
>        ('ullExtendedVirtual', c_ulonglong),
>    ]
>
> def GlobalMemoryStatusEx():
>    x = MEMORYSTATUSEX()
>    x.dwLength = sizeof(x)
>    windll.kernel32.GlobalMemoryStatusEx(byref(x))
>    return x
>
> z = GlobalMemoryStatusEx()
> print z.ullAvailVirtual


There does appear to be this win32api.GlobalMemoryStatusEx().
In monitoring my system before and after the process crashed, it
yielded this result below
- it is supposed to be a table, but I think the HTML is mangling the formatting.


                 key:                   start          crash            (       
 diff)
       TotalPageFile:     6256201728      6256201728    (           0)
        AvailVirtual:     2068193280       346382336    ( -1721810944)
          MemoryLoad:             33                      73            (       
   40)
           TotalPhys:     4284137472      4284137472    (           0)
AvailExtendedVirtual:              0                       0            (       
    0)
              Length:             64              64            (           0)
        TotalVirtual:     2147352576      2147352576    (           0)
           AvailPhys:     2849738752      1146531840    ( -1703206912)
       AvailPageFile:     4721647616      3014774784    ( -1706872832)


If understand your guidance above, monitoring the 'AvailVirtual'
should allow be to intelligently guess when the user is approaching
the 'cliff' as the process is running.

And I would think that examining the AvailPhys should tell me before
the process starts if there might be a problem/issue with the system
doing some sort of memory swapping/caching to the pagefile ?
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to