0


0

大規模なPythonスクリプトでDiskSpaceを排出できますか?
  • UPDATE: * * 興味深いことに、ほぼ15分後に、約500MBが自動的に復元されたようです。 これはどうですか? *

Mac OSX 10.5.6(Leopard)を使用しています。 Project-Euler問題のPythonスクリプトを書きました。 私のスクリプトには600851475143のように膨大な数のループを繰り返すループがありました。

  • MacのターミナルでViとPythonを使用しました。*

5分間実行しても結果が得られませんでした。 結果が出るまで実行したままにしました。 その後、「起動ディスクがほぼいっぱいです」というエラーが表示されました。

少なくとも1GBの空き容量があったのに、ディスクの空き容量がわずか38MBだったことにショックを受けました。 「Terminal」をすぐに終了しました。 しかし、今では記憶を取り戻す方法がわかりません。 :(

'' '' '

誰かが私のスクリプトの実行に使用したメモリを回復する方法を教えてもらえますか?

'' '' '

これがスクリプトです。

# Program to Find Largest Prime Factor of 600851475143

def isPrime(n):           #Check if Prime or Not
    i,notFactor=2,False
    while i1:                #Finds Factors and See if they are Prime
    print i
    if test%i==0:
        if isPrime(i)==True:  #Syntax Error Fixed. Thanks, batbrat!
            print i
            break
    i=i-1

3 回答


2


スクリプトがディスクをいっぱいにする唯一の方法は、大規模な/多数の一時ファイルを作成し、クリーンアップしない場合です。 Pythonプログラムを実行するだけでは、ディスクがいっぱいになることはありません。

ディスク領域を回復するには、領域がどこで使用されているかを把握し、一時ファイルを削除する必要があります。 ただし、OSXでそれを行う方法はわかりません。 WindowsおよびLinuxには、ディスク使用量を視覚化するための優れたツールがいくつかあります。

編集:オイラー問題は、適度に強力なコンピューターであっても、1分以内に解決されるように設計されています。 5分を費やしている場合は、問題に間違った方法で対処しています。


0


私が最初にしたことは、プログラムが大量のメモリを使用し、スワップファイルが大きくなることでした。 ただし、コードから、多くのメモリを消費しないことがわかります。 したがって、このスクリプトはスペースの損失の原因ではありません。


0


それはPythonではありません、それはあなたのシステムでメモリを使用している他のものです…​ おそらくあなたのブラウザ。

Macで1GBの空き容量はほとんどありません…​ 少なくとも10GBの空き容量が必要なので、クリーンアップの時間です。