美文网首页
进程申请内存

进程申请内存

作者: 动感新势力fan | 来源:发表于2018-08-02 15:36 被阅读9次
#include <iostream>
#include <windows.h>
using namespace std;

int main(int argc, char *argv[])
{
    char *data = (char *)malloc(1024*1024*800);
    //char *data  = new char[1024*1024*800];
   // memset(data, 0x01, 1024*1024*800);
    while(1);
    return 0;
}

如果完全不用的话,那这个其实内核只是对这个进程进行了记账,没有真的直接给钱。这个开销其实很小,小到大概实际支出只有十几K而已,
你肯定要问,什么时候兑现,这个就是在你读或者写到内存的时候,而且是要用到多少才真的给,如你只用到20M的内存,那其实真的分配的物理内存也就比这个多一点(这当然是虚拟内存有管理的开销)。这种模式在计算机领域很常见。如so加载,进程启动等等。
具体的内容,你要看讲虚拟内存的书籍

malloc是用户态的操作,内核不知道的,内核只提供了brk这种系统调用给你

malloc只分配虚拟内存,只有到你用的时候才会有物理内存给出来

相关文章

  • 进程申请内存

    如果完全不用的话,那这个其实内核只是对这个进程进行了记账,没有真的直接给钱。这个开销其实很小,小到大概实际支出只有...

  • C&C++内存检查工具

    Valgrind(memcheck) valgrind通过监控进程的所有内存申请、释放及内存边界,能够有效发现内存...

  • 创建进程步骤

    创建进程步骤:申请进程块为进程分配内存资源初始化进程块将进程块链入就绪队列

  • liunx中共享内存

    实现步骤 创建共享内存区 进程1申请一块共享区域,通过shmget函数生成 映射共享内存到进程1 通过shmat实...

  • 进程

    进程 是向操作系统申请内存资源 真正干活的是线程

  • JVM-8-常用工具

    问题 linux查看进程的线程信息ps -T -p $pidtop -H -p $pidVIRT:申请内存RES:...

  • 进程中各过程的转换过程

    进程创建过程(不能被打断): 1、申请空白PCB 2、为新进程分配资源 主要是内存资源的处理 3、初始化进程控制块...

  • qemu内存管理以及vhost-user的协商机制下的前后端内存

    概括来说,qemu和KVM在内存管理上的关系就是:在虚拟机启动时,qemu在qemu进程地址空间申请内存,即内存的...

  • Java多线程编程知识点系统梳理(1)

    一、进程、线程、任务 1、进程是程序向操作系统申请资源(内存空间、文件句柄)的基本单位2、线程是进程中客独立运行的...

  • 内存分配

    虚拟内存简介 当我们向系统申请内存时,系统并不会给你返回物理内存的地址,而是给你一个虚拟内存地址。每个进程都拥有相...

网友评论

      本文标题:进程申请内存

      本文链接:https://www.haomeiwen.com/subject/frqsvftx.html