コールド状態のforループでpsqlのいくつかのクエリを実行しようとしているので、Pythonを使用しています。したがって、各クエリを実行する前にキャッシュをクリアする必要があります。 osをインポートした後、次のことを行いました。
if state=="cold"
os.system('sudo sh -c "/usr/bin/echo 1 > /proc/sys/vm/drop_caches')
Pythonを使ってキャッシュを消去する方法を知っていますか?
Ubuntu 20.04を使用しています。
答え1
シェルの代わりにPythonを選択するのはなぜですか? Pythonでシェルコマンドを実行することは意味がありません。本当にPythonを使用したい場合は、これを行うことができます。
with open("/proc/sys/vm/drop_caches", "w") as f:
f.write("1")
sudo
スクリプト内で使用する代わりにPythonスクリプトを実行してください。
答え2
努力する
os.system('echo 1 | sudo tee /proc/sys/vm/drop_caches')