gpt4 book ai didi

检查 Solaris 10 上正在运行的进程正在使用的堆

转载 作者:行者123 更新时间:2023-11-30 15:17:29 26 4
gpt4 key购买 nike

如何检查 Solaris 10 上正在运行的进程正在使用的堆?pmap 正在提供信息,但我想查看堆使用情况,我必须这样做吗?

pmap | grep [heap]

如果我们想从程序内部以编程方式了解,我们可以使用以下命令:

struct mallinfo mallinfo(void);

malinfo() 函数返回一个结构的副本,其中包含有关 malloc 和相关函数执行的内存分配的信息。该结构体定义如下:

       struct mallinfo {
int arena; /* Non-mmapped space allocated (bytes) */
int ordblks; /* Number of free chunks */
int smblks; /* Number of free fastbin blocks */
int hblks; /* Number of mmapped regions */
int hblkhd; /* Space allocated in mmapped regions (bytes) */
int usmblks; /* Maximum total allocated space (bytes) */
int fsmblks; /* Space in freed fastbin blocks (bytes) */
int uordblks; /* Total allocated space (bytes) */
int fordblks; /* Total free space (bytes) */
int keepcost; /* Top-most, releasable space (bytes) */
};

这有助于了解我们已经分配了多少内存(分配的总内存 - 分配的净内存时释放的总内存)?

最佳答案

研究<procfs.h>中可用的功能可能是你最好的选择。

关于检查 Solaris 10 上正在运行的进程正在使用的堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com