gpt4 book ai didi

c - 微观管理 C 进程的内存使用

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:30 25 4
gpt4 key购买 nike

我想用 C 实现内存管理功能。情况是这样的。物理内存的总大小是 256mb

如何将 128mb 分配给一个进程 64mb 给其他进程。

我想使用 freelist 实现最佳匹配算法,并且需要进行压缩。
任何人都可以在这方面帮助我,或者推荐任何书籍来研究同样的问题吗?

最佳答案

你可以设置一个进程可以使用的最大内存量(Resident Set)

ulimit -m 131072

例如,将您的 shell 中的所有 fork 进程限制为最大驻留集的 128mb。

或者在 C 中通过

#include <sys/time.h>
#include <sys/resource.h>
int setrlimit(int resource, const struct rlimit *rlim);

例如

struct rlimit rlim;
getrlimit(RLIMIT_RSS, &rlim);
rlim.rlim_cur = (128 << 20) / sysconf(_SC_PAGESIZE) // 128 MiB
setrlimit(RLIMIT_RSS, &rlim);

关于c - 微观管理 C 进程的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153255/

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