我想获取每个进程和整个系统的内存使用情况。在Windows中,这很容易实现。GetProcessMemoryInfo和GlobalMemoryStatusEx可以轻松完成这些工作。例如,GetProcessMemoryInfo会返回给定进程的“PeakWorkingSetSize”。GlobalMemoryStatusEx返回系统范围内可用的内存。
然而,我需要在Linux上实现它。我正在尝试寻找Linux系统API,它们等效于GetProcessMemoryInfo和GlobalMemoryStatusEx。
我发现了“getrusage”。但是,在结构体rusage中,最大的“ru_maxrss”(驻留集大小)仅为零,即未实现。并且我不知道如何获取整个系统的可用内存。
当前的解决方法是,我正在使用“system(“ps -p%my_pid -o vsz,rsz”);”。手动记录到文件中。但是,这很不方便且难以处理数据。
我想了解一些适用于此目的的高级Linux API。
然而,我需要在Linux上实现它。我正在尝试寻找Linux系统API,它们等效于GetProcessMemoryInfo和GlobalMemoryStatusEx。
我发现了“getrusage”。但是,在结构体rusage中,最大的“ru_maxrss”(驻留集大小)仅为零,即未实现。并且我不知道如何获取整个系统的可用内存。
当前的解决方法是,我正在使用“system(“ps -p%my_pid -o vsz,rsz”);”。手动记录到文件中。但是,这很不方便且难以处理数据。
我想了解一些适用于此目的的高级Linux API。