
获得徽章 6
- 1 KB 大小的内存能不能运行一个 2 GB 的程序?
先说答案,能。
程序运行时,本应需要一段连续的内存,但是现实中由于内存碎片的存在,往往不能满足这一要求。比如运行一个程序需要 128 M 大的内存,但是内存中只有一块连续的 100 M 的内存和一块连续的 64 M 的内存,这样的话,程序就运行不了了,明明内存中空闲内存大于 128 M,程序却运行不了,很不合理。于是人们想到了内存分页的办法。
内存分页就是说,加载程序时不再是给程序分配一整块连续的内存,而是把程序所需的内存分成一个个固定大小的内存页,按页去加载,内存页之间不必是连续的,只要知道这个程序所需的内存页都分布在哪就行。
内存分页是操作系统实现的,对于程序来说,它可以把自己使用的内存看作是连续的,操作系统会将程序中使用的内存地址映射到物理内存。
内存分页不仅解决了内存碎片的问题,也降低了内存交换的成本,而且加载程序时也不需要一次性把整个程序都加载到内存,操作系统可以根据需要去加载部分内存页,这使得小内存运行大程序成为可能。Linux 默认的一个内存页大小是 4 KB。用下面这个命令可以查看:
getconf PAGE_SIZE
那么回到刚才的问题,如何用 1 KB 的内存去运行 2 GB 的程序?我们可以把内存页大小设置为 1 KB,每次只加载 1 个内存页,需要哪一页,就把哪一页从硬盘上交换到内存里面。不过由于磁盘I/O速度远远小于内存的I/O速度,这样运行程序会很卡顿。展开517 - 想跟大家再解释一下关于文章的审核推荐了:
1.没必要求推荐,(求推荐这个应该来源于一些历史人员培养的不好习俗)
2.当天发布的文章一般为24h内完成推荐,周末节假日略有延迟;
3.文章的推荐标准请详细阅读小册juejin.cn的这一章节;
4.再次强调掘金作为一个内容平台,只要您的文章是自己原创且符合推荐标准,我们一般都会进行推荐的;
5.如果您的文章确实是篇好文章,但是由于确被工作人员忽略了怎么办?,请在沸点话题下juejin.cn进行自荐,我们工作人员每天都会看的。
6.如果您的文章被推荐后曝光较少怎么办?掘金是否对我的文章进行限流了?答案是否定的,只要您的文章符合推荐标准,且在推荐后不违反社区和法律法规,掘金社区这边没有手段对您的文章进行限流;
7.关于审核,文章审核是为了响应合规要求,这是每个内容平台都要做的事情,审核时间一般为30分钟内万完成审核;如果您很久未登录发现很多文章未被推荐,不要慌重新提交即可,或者联系工作人员辅助处理。
8.其他疑难杂症请联系工作人员微信具体解决或者在沸点反馈建议下留言。展开67