एक प्रक्रिया द्वारा खपत मेमोरी की निगरानी कैसे करें?


16

मेरे पास एक प्रक्रिया है जिसे मैं देखना चाहूंगा कि यह चलने के दौरान कितनी मेमोरी लेता है।

अभी मैं यह करता हूं:

ps faux | grep casper

लेकिन वह सिर्फ मुझे उस पल की जानकारी देता है। यह अच्छा होगा कि स्क्रिप्ट के रूप में मूल्य बदल रहा है।

किसी भी तरह से मैं यह कर सकता हूं?

जवाबों:


15

विधि 1

Daud:

top

कार्यक्रम के पीआईडी ​​(पहले कॉलम) के लिए जांचें, फिर चलाएं:

top -p PID

विधि 2

या तो इसे टर्मिनल में पेस्ट करें या इसे एक mem_usage.sh के रूप में सहेजें और इसे टर्मिनल से चलाएं।

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done

1
आप इसे% दिखाने से कैसे बदल सकते हैं? ब्याज से बाहर :-)
विलफ

मुझे स्क्रिप्ट चलाते समय यह मिलता है: bash: ./emory_usage.sh: bin / bash: bad दुभाषिया: ऐसी कोई फ़ाइल या निर्देशिका नहीं
Hommer Smith

बाह! मैंने इसे संपादित किया है! पोस्ट करने से पहले इसे ठीक से जांच लेना चाहिए था। पहली पंक्ति को यह कहना चाहिए कि इसे कहां से चलाना है / बिन / बैश (मेरे पास बिन / बैश है इसलिए यह स्थानीय रूप से बिन के लिए एक फ़ोल्डर में चेक कर रहा था)
जूलियन स्टर्लिंग

1
@ wilf ps faux | grep कैस्पर | awk '{प्रिंट $ 11} {प्रिंट $ 6}' जो कि आपको एक लाइन प्रोग्राम नाम और अगले असली मेमोरी साइज kB में देना चाहिए।
जूलियन स्टर्लिंग

7

केवल आपकी प्रक्रिया की निगरानी के लिए आप / खरीद / पीआईडी ​​/ स्थिति या / खरीद / पीआईडी ​​/ प्रतिमा देख सकते हैं।

के बारे में / खरीद / पीआईडी ​​/ प्रतिमा:

करने के बाद cat /proc/PID/statmआपको यह देखना चाहिए:

611450 185001 883 18 0 593431 0

स्पष्टीकरण:

  1. आकार: - कुल कार्यक्रम का आकार (611450 X 4096/1024 = 2445800kB = 2388M)
  2. निवासी: - निवासी सेट आकार (185001 X 4096/1024 = 740004kB = 722M)
  3. शेयर: - साझा पेज (883 X 4096 = 3532)
  4. trs: - text (कोड) (18 X 4096/1024 = 72kB = VmExe)
  5. drs: - डेटा / स्टैक
  6. lrs: - लाइब्रेरी (593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt: - गंदे पृष्ठ

इसके अलावा, आप दिनांक और बिल्ली का उपयोग कर अपनी प्रक्रिया के लिए मेमोरी गतिविधि लॉग इन कर सकते हैं।


4

आप 'टॉप' का उपयोग कर सकते हैं

man top

यह कार्यक्रम आपको दूसरों, RSS, VSZ, CPU, आदि के द्वारा संसाधन उपयोग को क्रमबद्ध करने की अनुमति देता है। यह बहुत उपयोगी है।

वैकल्पिक रूप से, मेमोरी उपयोग के अधिक विस्तृत विराम के लिए, 'pmap' आज़माएँ

man pmap

उदाहरण का उपयोग:

pmap -x 1234

चियर्स

अनुसूचित जाति।


1
के साथ pmap -x PID, क्या आपका मतलब है अविश्वसनीय रूप से विस्तृत उपयोग :-)
विलफ डिक

वास्तव में - कभी भी पर्याप्त विवरण नहीं हो सकता है :)
swisscheese

1
PID के साथ मेरा (Ubuntu 16.04.5 LTS) "pmap -x", PID और कमांड के अलावा कुछ भी नहीं दिखाता है। -एक्स वही करता है।
22


1

इसके लिए प्रयास करें:

watch 'ps faux | grep -v grep | grep casper'

आप --interval <seconds>पैरामीटर का उपयोग करके ताज़ा अंतराल भी बदल सकते हैं ।


1
यदि आप अंतिम को grep [c] asper में बदलते हैं, तो आपको -v grep की आवश्यकता नहीं है। यह कैस्पर से मेल खाता है लेकिन खुद से नहीं।
वुडांग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.