Я запускаю следующую команду для очистки кэша:
$ sync; sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
sh: 1: cannot create /proc/sys/vm/drop_caches: Operation not permitted
$ free
total used free shared buff/cache available
Mem: 7.9G 5.7G 2.0G 17M 230M 2.1G
Swap: 13G 445M 13G
Так что это явно не работает, так как в кэше 230 МБ. Когда я захожу в /proc/sys/vm/, там нет файла с именем "drop_caches".
Что происходит?
Я использую Ubuntu 16.04 через подсистему Windows Linux.
решение1
Вы не можете создать файл даже есликореньв /proc/sys/vm
связи с его разрешениями:
dr-xr-xr-x 1 root root 0 Jun 9 21:46 /proc/sys/vm
Вы можете видеть, что дажекореньне имеет разрешения на запись, что означает, что дажекореньневозможно удалить, переименовать или создать файлы в этом каталоге.
Однако существующие файлы /proc/sys/vm
могут быть доступны для редактирования, если разрешения на доступ к файлам достаточны.
Файлы ниже /proc
предоставляются ядром. Используя WSL, вы используете не ядро Linux, а эмуляцию (lxss.sys, lxcore.sys). Если файл ниже /proc
не существует, это означает, что он не предоставляется ядром или, в вашем случае, эмуляцией.
решение2
[ Отредактировано ]
Как я и обещал, я нашел решение.
Установить WSL2
Вам необходимо установить WSL 2, поскольку WSL 1 не поддерживает такие функции, как Systemd, и, следовательно, удаление буферного кэша во время выполнения невозможно.
Установить предварительную версию Ubuntu
Даже если установлен WSL2, текущие версии Ubuntu не поддерживают Systemd,поэтому в результате необходимо установить предварительную версию Ubuntu.
РЕЗУЛЬТАТ
● DESKTOP-E8H5RD4
State: running
Units: 308 loaded (incl. loaded aliases)
Jobs: 0 queued
Failed: 0 units
Since: Thu 2022-12-01 14:03:05 GMT; 1h 36min ago
systemd: 251.4-1ubuntu7
Tainted: cgroupsv1
CGroup: /
c_sharp_man@DESKTOP-E8H5RD4:/mnt/c/Windows/system32$ free
total used free shared buff/cache available
Mem: 7815484 484724 7191488 3352 139272 7128876
Swap: 2097152 268 2096884
c_sharp_man@DESKTOP-E8H5RD4:/mnt/c/Windows/system32$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
[sudo] password for c_sharp_man:
c_sharp_man@DESKTOP-E8H5RD4:/mnt/c/Windows/system32$ free
total used free shared buff/cache available
Mem: 7815484 486760 7192304 3352 136420 7128140
Swap: 2097152 268 2096884
c_sharp_man@DESKTOP-E8H5RD4:/mnt/c/Windows/system32$
Дополнительный
Если вы хотите персонализировать свой Windows Terminal с помощью пользовательских баннеров запуска,этот пост, сделанный мной, проведет вас шаг за шагом.