LLC означает только «кэш последнего уровня ». Уровень кэша сильно зависит от архитектуры -. В последних архитектурах x86/amd64 это обычно кэш L3.
Кэширование происходит в основном независимо от ядра. Даже на ассемблерном уровне функций для управления кэшированием памяти ЦП -, включая кэш L3, практически нет. Это может быть сомнительно, даже если это задача ядра.
В процессорах Intel (AMD )есть регистры mtrr , которые могут влиять на то, как ядро видит способность кэша -диапазонов памяти. В более новых процессорах Intel также есть функция разделения кэша L3, которую можно настроить с помощью инструментов (, начиная с ядра 4.10 ). 1
API ядра не имеет функции malloc()
. У него есть kmalloc()
, что по сути является malloc()
. У него также есть vmalloc()
, который всегда выделяет страницы, а не байты. Обратите внимание, что виртуальная машина ядра работает в основном со страницами,kmalloc()
по существу является лишь оболочкой для vmalloc()
, чтобы получить более эффективную функциональность, похожую на malloc -.
Существуют различные оптимизации алгоритмов ядра для лучшей настройки в среде кэширования, хотя они в основном касаются более низких уровней кэша (, например, лучше, если параллельные процессы/потоки ядра работают как можно меньше на одном и том же страница или строка кэша ). Использование vmalloc()
может сильно помочь при работе с кешем в многопроцессорной среде -.
Ядро написано в основном на C, оно прозрачно обрабатывает адреса памяти, а кэширование осуществляется механизмом обработки памяти процессора.
1Спасибо за Стивен Китт за ценный комментарий.
Вы не указали, хотите ли вы, чтобы эти пользовательские сеансы были интерактивными, т.е. вы можете присоединяться к ним и запускать команды самостоятельно, или некоторые инструменты будут запускать команды в этих сеансах автоматически, или они должны просто «сидеть и ничего не делать» (, войти в систему и бездействовать ).Каждый случай потребует немного другого подхода.
Я бы предложил установить expect и написать сценарии ожидания, которые регистрируются в этих учетных записях, используя, например,ssh -l user localhost
(вы также можете использовать su -l user
, но эти сеансы не будут отображаться в who
вывод ). Вы можете добавить screen
, если хотите иметь возможность управлять этими сеансами. Затем поместите эти сценарии в свой .profile
, чтобы они запускались автоматически при входе в систему.
Вы можете найти примеры сценариев ожидания, которые входят в систему и что-то делают здесь или здесь .