पाइथन-टेन्सफोर्लो प्रक्रिया को आसानी से कैसे मारें और स्मृति जारी करें? - पायथन, tensorflow

जब भी मैं एक पायथन लिपि चलाता हूं जो उपयोग करता हैtensorflow और कुछ कारणों से इसे खत्म करने से पहले इसे मारने का फैसला किया जाता है, ऐसी समस्या है जो ctrl-c काम नहीं करता है। मैं ctrl-z का उपयोग करता हूं लेकिन यह gpu स्मृति को रिलीज़ नहीं करता है, इसलिए जब मैं फिर से चलाने की कोशिश करता हूं लिपि में कोई स्मृति नहीं है। क्या लिनक्स में इसके लिए कोई समाधान है?

उत्तर:

जवाब के लिए 0 № 1

रन top प्रक्रिया आईडी खोजने के लिए आदेश। फिर kill यह।

जैसा:

top

पिड पाएं

kill pid

जवाब के लिए 0 № 2

बैश में शीर्ष पायदान के साथ अपनी पायथन स्क्रिप्ट की प्रक्रिया की प्रक्रिया आईडी (पीआईडी) पाएं।

top

उदाहरण के लिए पीआईडी ​​5000 है

शीर्ष से बाहर निकलें। फिर प्रक्रिया को मार डालो:

kill 5000

जवाब के लिए 0 № 3

मैं हमेशा स्क्रिप्ट से tensorflow कार्यक्रम शुरू करते हैं। उदाहरण के लिए:

python tf_run.py 1> ./log 2> ./err &

फिर अपने प्रोग्राम की स्थिति की निगरानी के लिए शीर्ष / htop का उपयोग करें। यदि आपकी मशीन पर कई अन्य प्रगतियां हैं, तो केवल पाइथन की प्रगति होती है।

top -p $(pgrep -d"," python)

अंत में, जब आप प्रगति को मारना चाहते हैं,

ps aux | grep tf_run.py | awk "{print $2}" | xargs kill -9

जब आप कई टेंसर प्रवाह प्रगति करते हैं तो यह कमांड लाइन बेहद उपयोगी होती है।


संबंधित सवाल
सबसे लोकप्रिय