मैं अपने लिनक्स पीसी के बाइट्स में कुल भौतिक स्मृति कैसे प्राप्त कर सकता हूं?बैश में कुल भौतिक मेमोरी को एक चर में निर्दिष्ट करने के लिए कैसे करें?
मुझे इसे एक बैश स्क्रिप्ट चर में असाइन करने की आवश्यकता है।
मैं अपने लिनक्स पीसी के बाइट्स में कुल भौतिक स्मृति कैसे प्राप्त कर सकता हूं?बैश में कुल भौतिक मेमोरी को एक चर में निर्दिष्ट करने के लिए कैसे करें?
मुझे इसे एक बैश स्क्रिप्ट चर में असाइन करने की आवश्यकता है।
grep MemTotal /proc/meminfo | awk '{print $2}'
लौटे संख्या KB
में हैऐसा लगता है कि आपने अपने प्रश्न का उत्तर दिया है। फिर भी, नौकरी करने के लिए एक अजीब कमांड का उपयोग करें। 'awk'/MemTotal/{print $ 2} '/ proc/meminfo' – ghostdog74
किसी भिन्न आधार (उदा। जीबी) में रूपांतरण शामिल करने के लिए आप' grep memTotal/proc/meminfo का उपयोग कर सकते हैं। अजीब '{प्रिंट $ 2}' | xargs -I {} गूंज "स्केल = 4; {}/1024^2" | बीसी' – turtlemonvh
कैसे के बारे में
var=$(free | awk '/^Mem:/{print $2}')
वैरिएबल असाइन करते समय "=" चिह्न के बीच कोई रिक्त स्थान नहीं है। जहां भी संभव हो ''() 'वाक्यविन्यास का उपयोग करें। – ghostdog74
@ ghostdog74: धन्यवाद (पोस्ट फिक्स्ड) – kiwicptn
grep _and_ awk? –
phymem=$(awk -F":" '$1~/MemTotal/{print $2}' /proc/meminfo)
या का उपयोग कर मुक्त
phymem=$(free|awk '/^Mem:/{print $2}')
या का उपयोग कर खोल
#!/bin/bash
while IFS=":" read -r a b
do
case "$a" in
MemTotal*) phymem="$b"
esac
done <"/proc/meminfo"
echo $phymem
मुझे यह पसंद है क्योंकि आप इसे अलग-अलग इकाइयों में प्राप्त करने के लिए 'मुक्त' करने के लिए '-m',' -g', आदि में पास कर सकते हैं :) –
बहुत अच्छा सारांश उत्तर, धन्यवाद। इसके अलावा मैं इकाइयों को पट्टी करने के लिए 'बी-सी' पढ़ने के दौरान उचित रेखा बदलूंगा। – dess
मूर्खतापूर्ण इनलाइन पायथन संस्करण, जो अत्यधिक जटिल दिखता है, लेकिन वास्तव में उपयोगी है।
freemem=$(echo -e 'import re\nmatched=re.search(r"^MemTotal:\s+(\d+)",open("/proc/meminfo").read())\nprint(int(matched.groups()[0])/(1024.**2))' | python)
यह जीबी में स्मृति देता है।
मुझे लगता है कि आपके पास 're.search (r "^ MemTotal ...")' – kd88
@ kd88 में एक भटक "आर" है, मुझे लगता है कि यह ठीक है। यह सिर्फ अजगर में कच्ची स्ट्रिंग के लिए संकेत है। स्पष्टीकरण के लिए रेगेक्स दस्तावेज़ों का परिचय अनुभाग देखें: https://docs.python.org/2/library/re.html – turtlemonvh
मैं इस धारणा के तहत इस एक के साथ आया था कि भौतिक स्मृति मुक्त के उत्पादन में पहले नंबर हो जाएगा,:,
free -m | grep -oP '\d+' | head -n 1
यह आपको इकाई आप चाहते उत्पादन करने के लिए स्वतंत्र कॉन्फ़िगर करने के लिए (मी की अनुमति देता है -g, ...) और यह सिस्टम भाषा से स्वतंत्र है (अन्य उत्तरों मुक्त "आउटपुट में" मेम: "स्ट्रिंग पर निर्भर करते हैं जो भाषा के आधार पर बदल सकता है।
यह प्रश्न बहुत कम समझ में आता है। कृपया इसे अधिक विशिष्ट होने के लिए फिर से लिखने का प्रयास करें। – Gabe
मैंने इसे अभी लिखा है। मेरे लिए यह बहुत विशिष्ट है, मुझे अपने पीसी की कुल भौतिक मेमोरी (रैम) प्राप्त करना है और असाइन करना है यह मेरी बैश स्क्रिप्ट में एक चर के लिए है। – Neuquino