我正在一个系统上进行性能测试,我需要确保我正在从磁盘读取数据,并且它不只是缓存(比如来自早期测试)。我在这里读到我可以使用命令删除缓存
echo 3 | sudo tee /proc/sys/vm/drop_caches
但是,请注意,即使我的帐户是管理员帐户(登录 peter),它仍然需要我的密码。我希望能够在不需要输入密码的情况下在批处理脚本中运行它(因为这显然是手动的)
更多的研究使我找到了 sudoers 文件。我的计划是将上述命令放入一个名为 dropCache 的单行脚本中,然后编辑 sudoers,这样我就可以在不输入密码的情况下运行它。所以我添加了这一行
ALL ALL=(ALL)NOPASSWD:/home/peter/dropCache
在我的 sudoers 文件的末尾(使用 visudo)。使用我的管理员帐户,如果我运行
sudo -l
我明白了
(ALL) NOPASSWD: /home/peter/dropCache
但是,如果我运行我的 dropCache 脚本,我仍然会被要求输入密码
./dropCache
[sudo] password for peter:
对此的任何帮助将不胜感激。我正在运行 Ubuntu 12.04
谢谢彼得