মানব পাঠযোগ্য সিস্টেমে মেমরি পড়ছে সি এল এল থেকে?


15

ওএস এক্স-তে, আমি এমন একটি সুন্দর মানব পাঠযোগ্য সিস্টেম মেমরি পঠন করি:

printf -v system_memory \
          "$(system_profiler SPHardwareDataType \
             | awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"

বন্ধুত্বপূর্ণ প্রিন্ট:

4 GB

যদিও লিনাক্সে এটি সঠিক:

lshw -class memory

এটি ফলাফল:

size: 4096MiB

আমার এটিকে যন্ত্রণাদায়কভাবে বিশ্লেষণ করতে হবে এবং এটিকে উপরের মতো সুন্দর একটি স্ট্রিংয়ে পরিণত করার চেষ্টা করা উচিত।

আমি কি ভুল কমান্ড ব্যবহার করছি?


5
"আমাকে বেদনাদায়কভাবে এটিকে পার্স করা দরকার" ... অসক্সের জন্য বড় কুরুচিপূর্ণ জিনিসটি বেদনাদায়ক নয়? :-)
প্যাট্রিক

@ পেট্রিক: লিনাক্সের সাথে তুলনা করার সময় আমি ওএস এক্সকে অপছন্দ করি!
রোবটিনোসিনো

উত্তর:


32

আপনার যদি প্রয়োজন হয় তবে কেবল ব্যবহার করুন free:

$ free -h | gawk  '/Mem:/{print $2}'
7.8G

freeমেমরির তথ্য ফেরত দেয়, -hসুইচ এটি মানব পাঠযোগ্য বিন্যাসে মুদ্রণ করতে বলে।


1
আমি জানতাম না freeএকটি (সুন্দর) -hসুইচ আছে had ধন্যবাদ। খুব আকর্ষণীয় কীভাবে freeডিমেজ 4.0G(যা আমি পাই) তার চেয়ে বেশি মানুষের বন্ধুত্বপূর্ণ 4 GB। "মা, আমি ক্ষুধার্ত, এটি যদি লিনাক্সে আমাদের সেরা হয় তবে আমার সম্ভবত সম্ভবত নম্বরটি বিশ্লেষণ করা উচিত এবং নিজের Gসাথে প্রতিস্থাপন করা GBউচিত .. খুব কমই আমরা এইচডিডি দেখতে পাই, উদাহরণস্বরূপ, "320 জিবি" এর পরিবর্তে "320 জি" হিসাবে বিজ্ঞাপন দেওয়া হয়। :(
রোবটিনোসিনো

5
@ রোবটিনোসিনো, এইচডিডি আকারগুলি জিবিতে প্রকাশ করা হয় (10 ^ 9 বাইট), মেমরিটি সাধারণত জিআইবিতে প্রকাশ করা হয় (2 ^ 30 বাইট), 4.0 জি আপনাকে নির্ভুলতার ধারণা দেয়। 4 জিবি সহ, আপনি জানেন না যে এটি ঠিক 4 জিবি (বা 4 জিআইবি?) বা 4.4 গিগাবাইট 4 বা 3.6 জি অবধি 4 অবধি রয়েছে
স্টাফেন

@ রোবটিনোসিনো যদি আপনি এটিকে আরও বেশি মানব-পঠনযোগ্য সংখ্যার দিকে নিয়ে যেতে চান এবং GBচেষ্টা করতে চানfree -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0
aalaap

3

লিনাক্সে,

read x memtotal x < /proc/meminfo

মোট মেমের পরিমাণ $memoryকিবি সংখ্যায় সংরক্ষণ করবে। লিনাক্সের কাছে এটি উপলব্ধ মেমরির পরিমাণ, প্রতিবেদন অনুসারে free

আপনি যদি ইনস্টলড র্যামটি চান তবে আপনি এগুলি করতে পারেন:

awk '{s+=$0};END{print s}' /sys/bus/mc*/devices/dimm*/size

এমআইবিএসে আকার পেতে। অথবা

awk '{s+=$0};END{printf "%.2gG\n", s/1024}' /sys/bus/mc*/devices/dimm*/size

আপনি যদি জিআইবিতে আকার চান।


0

সবচেয়ে সহজ উপায় হ'ল ফ্রি কমান্ড ব্যবহার করা

free -gh

আপনার পাশাপাশি পার্স করা দরকার।
কাউন্টারমোড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.