Как вычисляется статистика, выводимая с помощью `free -l`?

Мне удалось запустить Xvfb без root.

В конце концов, я загрузил исходный код с https://www.x.org/wiki/Releases/Download/ , внедрил переменные среды, установил зависимости (yum) и скомпилировал ] Xvfb и перенес эти двоичные и разделяемые библиотеки в мою песочницу.

Важно отметить, что в [sources] /xkb/xkbInit.c я добавил эти строки вокруг строки 815:

        if (++i >= argc)
            UseMsg();
        else
            XkbDfltRepeatInterval = (long) atoi(argv[i]);
        return 2;
    }
    /* End original code */


    // Change xkbcomp bin directory with an environment variable
    char *xkbBinDir = getenv("XKB_BINDIR");
    if (xkbBinDir) {
        XkbBinDirectory = Xstrdup(xkbBinDir);
    }

    // Change base xkb directory with an environment variable
    char *xkbBaseDir = getenv("XKBDIR");
    if (xkbBaseDir) {
        XkbBaseDirectory = Xstrdup(xkbBaseDir);
    }


    /* Original code */
    return 0;
}

Я могу установить переменные среды XKB_BINDIR в свой xkbcomp двоичный путь (скопирован в песочницу) и XKBDIR туда, где находится мой файл default.xkm .

И снова моей успешной стратегией была компиляция Xvfb из исходников с изменениями. Для мучительных подробностей и пошаговых инструкций я написал это на своем сайте здесь - https://ericdraken.com/running-xvfb-on-a-shared-host-without-x/


У @dirkt был интересный подход, который заключался в том, чтобы взломать двоичный файл Xvfb и выполнить манипуляции со строками. Это привлекательно, так как это быстро и несколько непослушно, но у него были недостатки: 1) я не могу знать номер сервера заранее [1 .. 99], и 2) Мои пути слишком длинные и потребуют символических ссылок. Я действительно пробовал команду NOP (:) в качестве замены строки вместе с ручным копированием server-N.xkm , за исключением того, что есть два логических пути, с которыми нужно бороться в источнике код, один из которых, когда файл xkm кэшируется.

2
01.01.2017, 05:07
1 ответ

Низкий и Высокий не относятся к тому, большое использование или нет. Они представляют то, как это организовано системой.

Согласно Википедии:

Высокая память - это часть физической памяти компьютера, которая напрямую не отображается в таблицах страниц ядра его операционной системы.

У команды free нет продолжительности, которая просто вычисляет моментальный снимок доступной информации.

Большинству людей, включая программистов, нет необходимости понимать это более ясно, поскольку им можно управлять в гораздо более простой форме с помощью системных вызовов и операций компилятора / интерпретатора.

4
27.01.2020, 21:59

Теги

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