Actualmente tengo algunos problemas con el caché. Es un poco demasiado ahora, así que quería aclararlo. Busqué en Google y encontré este pequeño comando: sync && echo 3 > /proc/sys/vm/drop_caches
.
Estoy conectado como root sobre SSH (sin usar sudo). Estos son los intentos que hice:
root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches
root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied
root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied
root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3
Es una máquina remota que ejecuta Debian. Hasta donde sé, hay algunos vCores en esta máquina y utiliza Virtuozzo para la virtualización.
Realmente solo quiero borrar el caché (por lo que solo puedo acceder a él usando SSH) .
También intenté registrar esto como un cronjob. ¡Pero simplemente falla también!
linux
permissions
virtualization
proc
openvz
BrainStone
fuente
fuente
sudo
?/proc/sys/vm/drop_caches
existe realmente?Respuestas:
¿Es realmente una máquina remota o simplemente un sistema remoto ? Si se trata de un segmento VPS en alguna parte, (al menos algunas formas de) la virtualización del sistema operativo (por ejemplo, openVZ) no permitirá esto desde el contenedor. No ejecutas la máquina, solo ejecutas tu rebanada.
fuente
sudo
tiene que cubrir toda la redirección para que pueda ser ejecutada completamente por root:fuente
echo 3 | sudo tee /proc/sys/vm/drop_caches
Este es un comportamiento normal en la virtualización a nivel del sistema operativo. Esto solo puede ser ejecutado por alguien con acceso raíz al nodo de hardware.
Con, por ejemplo , OpenVZ , no obtienes tu propia instancia de kernel y, como tal, no puedes ejecutar comandos como este.
Todos comparten el mismo caché de página, por lo que para eliminar los cachés de solo su instancia, el kernel debe verificar si la página le pertenece y si las otras instancias no están usando esta página también.
Con otra técnica de virtualización como KVM o Xen, esto podría estar funcionando.
fuente
Puede usar
echo
canalizado parasudo tee
permitir el permiso adecuado necesario cuando necesita hacer eco como root.Use
tee --help
para enumerar más opciones.fuente
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
Este comando funciona para mí sin
/usr/bin/echo
respuesta mchid. Estaba dando errorsh: 1: /usr/bin/echo: not found
. Tan usado solo 'echo'fuente
Tuve el mismo problema cuando intenté usar sudo así:
Mi solución fue cambiar temporalmente a root. Obviamente, ese permiso tiene que estar habilitado en su sistema:
fuente
Usando una configuración de VM similar con OpenStack y esto funciona (ejecutando Debian):
fuente