Требование RAM для виртуальной машины

Хост ОС является Windows 10, с 16BG RAM. У меня есть Oracle VirtualBox с Ubuntu 18.04 как гость ОС (ПОРШЕНЬ на 2 ГБ).

Я запустил следующую программу на госте ОС. Я видел, что вершина перечислила до 40 ГБ. Но, я не видел Использование оперативной памяти выхода за пределы VirtualBox 230 МБ.

Как я могу видеть счетчики хорошей памяти на госте и хосте?

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <malloc.h>

static size_t total = 0, n = 0;
static char* ptrs[20000] = {0};
static size_t ncur  = 0;

static void alloc_more(int more)
{
    char* tmp = (char*)malloc(more);
    tmp[more/2] = 32;
    tmp[more-1] = 41;
    tmp[0] = 53;
    total += more;
    printf("\n allocated total is %lu GB for %p", total/(1024*1024*1024),tmp);
    ptrs[++n] = tmp;
    ncur = (n*3)/4;
    if(ptrs[ncur])
    {   memset((void*)ptrs[ncur], 33, more);
    }
}

int main(int argc, char* argv[])
{
    while(1)
    {
        alloc_more(atoi(argv[1]));
    }
    return 0;
}
-1
задан 20 November 2019 в 11:32

1 ответ

При выделении памяти она просто резервируется. Необходимо поместить что-то в него, прежде чем это на самом деле привыкнет. Если Вы помещаете что-то в него, то необходимо наблюдать увеличение Использования оперативной памяти VM. Можно хотеть замедлить вещи с некоторыми снами в программе, чтобы дать себе время для наблюдения вещей, в то время как она продолжается.

Был интересный вопрос об использовании всей памяти, доступной просто на днях.

1
ответ дан 21 December 2019 в 23:53

Другие вопросы по тегам:

Похожие вопросы: