यहाँ पोस्ट किए गए विचारों के आधार पर मैंने इस कोड की एक छोटी लाइन बनाई:
sudo vmmap notifyd | grep -A3 'Summary'
जो vmmap आउटपुट का सारांश खंड (3 लाइन) प्रदर्शित करता है। मैंने notifyd
इस उदाहरण में उपयोग किया है, लेकिन आप इसे किसी भी पीआईडी के साथ बदल सकते हैं जिसे आप जानते हैं।
यह रेखा सभी चल रही प्रक्रियाओं की सभी सारांश लाइनों को सूचीबद्ध करने का प्रयास करेगी। स्पष्ट रूप से कुछ विफल हो जाएंगे क्योंकि उनकी प्रक्रिया आईडी पहले से ही चली गई है (प्रक्रिया समाप्त हो गई है), लेकिन सामान्य तौर पर मैंने पाया कि यह स्मृति जानकारी की सूची के माध्यम से स्क्रॉल करने और शीर्ष स्वैपर को स्पॉट करने का एक शानदार तरीका है।
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary'
संपादित: कुछ अनाम उपयोगकर्ता ने देखा कि इस अंतिम कमांड लाइन में सुधार की आवश्यकता है क्योंकि जाहिर है कि मूल संस्करण अब काम नहीं करता था। इसलिए आपका बहुत-बहुत धन्यवाद जो आप हैं और मुझे खेद है कि आपका संपादन अस्वीकार कर दिया गया। (पहले कमांड ने पहले 'ps xa' को पढ़ा और इसके परिणामस्वरूप vmmap विफल हो गया क्योंकि ps के शीर्षक को इस पर फेंक दिया गया था)
और सुधार: यदि आप कार्यक्रम का नाम जानना चाहते हैं तो अभी इस छोटे से परिवर्तन का उपयोग करें
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | egrep 'swapped_out|Path'
इस कमांड के दूसरे छोर पर थोड़ा सा संशोधन आपको कुछ प्रोग्राम नामों या कमांड लाइन पथ घटकों के लिए फ़िल्टर करने में सक्षम बनाता है। यहां हम 'लाइब्रेरी / PrivateFrameworks' से सभी प्रक्रियाओं को केवल उदाहरण के लिए देख रहे हैं।
ps -o pid,command= -xa | grep 'Library/PrivateFrameworks' | awk '{print $1}' | xargs -n 1 sudo vmmap |