Estou executando o seguinte comando para limpar o cache:
$ 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
Portanto, claramente não está funcionando, pois há 230M no cache. Quando vou para /proc/sys/vm/ não há nenhum arquivo chamado "drop_caches".
O que está acontecendo?
Estou usando o Ubuntu 16.04 através do subsistema Windows Linux.
Responder1
Você não pode criar um arquivo mesmo queraizdevido /proc/sys/vm
às suas permissões:
dr-xr-xr-x 1 root root 0 Jun 9 21:46 /proc/sys/vm
Você pode ver isso mesmoraiznão tem permissões de gravação, o que significa que mesmoraiznão é possível excluir, renomear ou criar arquivos neste diretório.
Os arquivos existentes /proc/sys/vm
podem ser editáveis se as próprias permissões do arquivo forem suficientes.
Os arquivos abaixo /proc
são fornecidos pelo kernel. Usando WSL você não usa um kernel Linux, mas uma emulação (lxss.sys, lxcore.sys). Se um arquivo em /proc
não existir significa que ele não é fornecido pelo kernel ou, no seu caso, pela emulação.
Responder2
[Editado]
Como prometi antes, encontrei uma solução.
Instale WSL 2
Você precisa instalar o WSL 2, porque o WSL 1 não oferece suporte a recursos como Systemd e, portanto, a remoção do cache do buffer em tempo de execução não é possível.
Instale a visualização do Ubuntu
Mesmo que o WSL2 esteja instalado, as versões atuais do Ubuntu não têm suporte para Systemd,então, como resultado, a visualização do Ubuntu deve ser instalada.
RESULTADO
● 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$
Extra
Se você deseja personalizar seu Terminal Windows com banners de inicialização personalizados,esse post feito por mim irá te guiar passo a passo.