2017-02-13 4 views
0

私は最近機械学習を始めました。私は自分のプロセッサで重いpythonスクリプトを実行しています。私の最初のアイデアは、バックグラウンドで実行されていたcron-jobをセットアップし、朝の06:00から07:00の間にpythonでジョブをキャンセルすることでした。 (ジョブは、理想的には唯一の特定の段階でキャンセルしなければならない。)コンピュータが使用されていないときにpythonスクリプトを実行しますか?

0 1 * * * cd ~/web/im2txt/im2txt && ./train.sh >/Users/kristoffer/Desktop/train.py 2>/Users/kristoffer/Desktop/train.log 

しかし、その後、私は考えるようになった、コンピュータが使用されていない場合は、スクリプトを実行するためにpythonでまたはシェルのいずれかを介して、何らかの方法がありますか?アイドル状態なのか、それとも何か?

答えて

2

xscreensaverは、あなた自身を追加し、コンピュータがアイドル状態のときに決定し、残りを行うxscreensaverをさせることができ、その設定ファイルに指定されている任意のプログラム、すなわち:

  programs: \ 
        qix -root       \n\ 
        ico -r -faces -sleep 1 -obj ico \n\ 
        xdaliclock -builtin2 -root   \n\ 
        xv -root -rmode 5 image.gif -quit \n 

を実行することができます。

+0

いいアイデア! (Punは意図した:) – user4815162342

+0

質問は:あなたがそれを使用していないために他のプロセスが競合していないときに常に低い優先度でプログラムを実行する理由 –

+0

これはosxでネイティブですか? – Himmators

2

他のプロセスに比べて低い優先順位で実行プログラムがniceコマンドを使用されていることを確認するための標準的な方法:

nice -n 20 ./train.sh 

コマンドは、すべての時間を実行しますが、スケジューラはそれを可能な限り低い優先順位を与えます効果的にCPU時間を与えることができます。

しかし、niceは、プロセスを他のプリンセスにとって素敵な(したがってその名前)にするだけです。他のプロセスがCPU時間を競合していない場合、CPUを必要とするプロセスは、最低優先順位に設定されていても、100%の利用可能なコアを利用します(マシンを加熱します)。

+0

nice!しかし、それはまだ私のCPUをかなりハード、排水バタフライを押して、私のラップトップをストーブに変えているようだ、このシナリオには実際には適用されない。 – Himmators

+0

ええ、 'nice'は他のプリンセスたちにプロセスをいい(それゆえに名前をつける)だけにします。他のプロセスがCPU時間を競合していない場合、最も優先度の低い、CPU使用率の低いプロセスであっても、利用可能なコアの100%をうまく利用してマシンを加熱します。 – user4815162342

関連する問題