sudo
doit couvrir toute la redirection afin qu'elle puisse être complètement exécutée par root :
$ sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"
Je suis connecté en tant que root via SSH... C'est une machine distante exécutant Debian.
S'agit-il réellement d'une machine distante ou simplement d'un système distant ? S'il s'agit d'une tranche VPS quelque part, (au moins certaines formes de) la virtualisation du système d'exploitation (par exemple openVZ) ne permettra pas cela depuis l'intérieur du conteneur. Vous ne faites pas fonctionner la machine, vous faites simplement fonctionner votre tranche.
Il s'agit d'un comportement normal sous la virtualisation au niveau du système d'exploitation. Cela ne peut être exécuté que par une personne disposant d'un accès root au nœud matériel.
Avec par exemple OpenVZ , vous n'obtenez pas votre propre instance de noyau et, en tant que tel, vous ne pouvez pas exécuter de commandes comme celle-ci.
Tous partagent le même cache de page, donc pour ne supprimer que les caches de votre instance, le noyau doit vérifier si la page vous appartient et si les autres instances n'utilisent pas non plus cette page.
Avec une autre technique de virtualisation comme KVM ou Xen cela pourrait fonctionner.