কার্নেলটি কতটা র‌্যাম ব্যবহার করে?


46

এই প্রশ্নটি আমার শক দ্বারা অনুপ্রাণিত হয়েছিল যখন আমি আবিষ্কার করেছি যে ম্যাক ওএস এক্স কার্নেলটি 750 এমবি র‌্যাম ব্যবহার করে

আমি 20 বছর ধরে লিনাক্স ব্যবহার করে আসছি এবং আমি সর্বদা "জানতাম" যে কার্নেল র‍্যামের ব্যবহার এক্স দ্বারা বামন করা হয়েছে (এটি কি সত্য? এটি কি কখনও সত্য হয়েছে?)

কিছুটা গুগল করার পরে, আমি চেষ্টা করেছিলাম slabtopযা আমাকে বলেছিল:

Active / Total Size (% used)       : 68112.73K / 72009.73K (94.6%)

এর অর্থ কি এই যে আমার কার্নেলটি এখন RAM 72MB র্যাম ব্যবহার করছে?

(এই topপ্রতিবেদনের Xorgআরএসএস 17 এম হিসাবে দেওয়া হয়েছে , কার্নেলটি এখন অন্যদিকে নয়, এক্সকে বামন করে)

ল্যাপটপের জন্য "সাধারণ" কার্নেল র‍্যাম ব্যবহার (পরিসর) কী?

ম্যাকোস কেন লিনাক্সের চেয়ে বেশি র‌্যামের আকারের ক্রম ব্যবহার করে?

গীত। এখানে কোনও উত্তরই শেষ প্রশ্নটির দিকে লক্ষ্য রাখেনি, সুতরাং দয়া করে সম্পর্কিত প্রশ্নগুলি দেখুন:


আমার মেশিনে, এটি প্রায় 2 গিগাবাইটের প্রতিবেদন করে ... তবে আপনি যখন বিশদটি দেখুন তখন এটি সমস্ত ফাইল সিস্টেম ক্যাশে সম্পর্কিত।
ডারোবার্ট

2
আসলে, আমি যদি এটি করি echo 3 > /proc/sys/vm/drop_cachesতবে আমি কেবল 80 এমবি ব্যবহার করেছি used
ডারোবার্ট

আপনার প্রদত্ত লিঙ্কের মন্তব্য অনুসারে, সংহত গ্রাফিক্স হার্ডওয়্যার দ্বারা ব্যবহৃত মেমরিটি কার্নেল_টাস্ক অ্যাকাউন্টিংয়ের অন্তর্ভুক্ত।
রাসেল বোরোগোভ

উত্তর:


38

কার্নেল হ'ল কিছুটা মিসনোমার। লিনাক্স কার্নেলটি বেশ কয়েকটি প্রসেস / থ্রেড + মডিউলগুলি নিয়ে গঠিত ( lsmodযাতে) একটি সম্পূর্ণ ছবি পেতে আপনাকে কেবল একটি একক উপাদান নয়, পুরো বলটি দেখতে হবে।

ঘটনাচক্রে আমার শো slabtop:

 Active / Total Size (% used)       : 173428.30K / 204497.61K (84.8%)

ম্যান পেজের slabtopএই কথাটি ছিল:

স্ল্যাবটপ স্ট্যাটিস্টিক শিরোনাম ট্র্যাক করছে যে কতগুলি বাইট স্ল্যাব ব্যবহৃত হচ্ছে এবং এটি শারীরিক মেমরির পরিমাপ নয়। / Proc / meminfo ফাইলের 'স্ল্যাব' ক্ষেত্র ব্যবহৃত স্ল্যাব শারীরিক মেমরির তথ্য ট্র্যাক করছে।

ক্যাপ ফেলেছে

আপনার প্রশ্নের নীচে দেওয়া মন্তব্যে @ ডারবার্টের পরামর্শ অনুসারে আমার ক্যাশেগুলি ফেলে দেওয়া আমার জন্য নিম্নলিখিতগুলি রয়েছে:

$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$

 Active / Total Size (% used)       : 61858.78K / 90524.77K (68.3%)

3 জন পাঠানো নিম্নলিখিতগুলি করে: নিখরচায় পেজক্যাচ, ডেন্ট্রি এবং ইনডস। আমি এই U&L প্রশ্নোত্তর শিরোনামে আরও এটি নিয়ে আলোচনা করব: মেমরির ক্যাশে এবং বাফারটি ফেলে দেওয়ার কোনও উপায় বা সরঞ্জাম আছে কি? "। সুতরাং আমার পৃষ্ঠাগুলির 110MB কেবলমাত্র পেজ ক্যাশে, ডেন্টরি এবং ইনোড সম্পর্কিত তথ্য বজায় রেখে ব্যবহৃত হচ্ছিল।

অতিরিক্ত তথ্য

তাহলে আমার কার্নেলটি কতটা র‌্যাম ব্যবহার করছে?

এই ছবিটি আমার কাছে কিছুটা ধোঁয়াটে, তবে এখানে যে জিনিসগুলি আমি "চিন্তা করি" তা জানি।

ফলক

এই কৌশলটি ব্যবহার করে আমরা স্ল্যাব ব্যবহারের একটি স্ন্যাপশট পেতে পারি। মূলত আমরা এই তথ্যটি বাইরে বের করতে পারি /proc/meminfo

$ grep Slab /proc/meminfo
Slab:             100728 kB

মডিউল

এছাড়াও আমরা কার্নেল মডিউলগুলির জন্য একটি আকারের মান পেতে পারি (এটি ডিস্ক থেকে তাদের আকারের কিনা তা অস্পষ্ট নয়) যখন এই মানগুলি থেকে টেনে আনতে পারেন /proc/modules:

$ awk '{print $1 " " $2 }' /proc/modules | head -5
cpufreq_powersave 1154
tcp_lp 2111
aesni_intel 12131
cryptd 7111
aes_x86_64 7758

Slabinfo

এসএলবি সম্পর্কে বেশিরভাগ বিবরণ এই প্রক্ট কাঠামোটিতে অ্যাক্সেসযোগ্য /proc/slabinfo,:

$ less /proc/slabinfo | head -5
slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
nf_conntrack_ffff8801f2b30000      0      0    320   25    2 : tunables    0    0    0 : slabdata      0      0      0
fuse_request         100    125    632   25    4 : tunables    0    0    0 : slabdata      5      5      0
fuse_inode            21     21    768   21    4 : tunables    0    0    0 : slabdata      1      1      0

dmesg

যখন আপনার সিস্টেম বুট হয় তখন একটি লাইন থাকে যা লিনাক্স কার্নেলটি লোড হওয়ার ঠিক পরে মেমরির ব্যবহারের প্রতিবেদন করে।

$ dmesg |grep Memory:
[    0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)

তথ্যসূত্র


1
সম্পূর্ণ ছবি পেতে কি যাইহোক আছে?
গিলস

@ গিলস - ঠিক কতটা স্মৃতি ব্যবহার হচ্ছে? আমি এর আগে একটি প্রশ্ন মনে করি, আপনি?
slm

@Gilles - আমার মনে হয় আপনার সম্পর্কে কি বলছি পাসে হবে: grep Slab /proc/meminfo
slm

@ গিলস - এটিও রয়েছে: এটির উত্সটি /proc/slabinfoমনে হয় slabtop, তাই কেউ আরও সঠিক মোট গণনার জন্য এখান থেকে পরিমাণগুলি গণনা করতে পারে।
slm

1
কলাম 2 /proc/modules-তে মেমরির মডিউল আকার লোড হওয়ার বেশি সম্ভাবনা রয়েছে কারণ অন-ডিস্ক মডিউলগুলি সাধারণত সংকুচিত হয় (উদাহরণস্বরূপ ফেডোরা ২ 27 এর এক্সজেড), আমি tg3এনআইসি ড্রাইভারটি পরীক্ষা করেছি , ডিস্কের আকারটি (সংকুচিত বা মূল ফাইলের আকার) করে দেখানো বাইট আকারের সাথে মেলে না /proc/modules
টেরি ওয়াং

7

এটি সম্পর্কে:

Active / Total Size (% used)       : 4709.24K / 5062.03K

এটি একটি সদ্য বুট করা, খুব ছোট মেশিনে একটি সাধারণ কার্নেল সহ মাথা বিহীন চলমান সুতরাং এটির খুব বেশি প্রয়োজন হয় না।

ডারোবার্ট ইঙ্গিত হিসাবে, কার্নেলটি ক্যাশে করার জন্য উপলব্ধ মেমরির ব্যবহার করবে এবং এটি আপনি যা দেখেন তা অনেকটাই slabtop। ফাইল ক্যাশে ছাড়াও, এটি ব্যবহারকারীর স্থান প্রক্রিয়াগুলি থেকে শেরে যাওয়া মেমরির সাথে করতে হবে যা আর ব্যবহারযোগ্য নয়। কার্নেলটি সেখানে একই জিনিস পুনরায় প্রয়োজন না হওয়া অবধি সেখানে রেখে দেয় বা অন্য কোনও কিছুর জন্য সক্রিয়ভাবে র‌্যামের প্রয়োজন হয়, সেক্ষেত্রে এটি ভুলে যায়। সাদৃশ্যটি কোনও বইয়ের তাক থেকে সারণি থেকে পড়ে একটি টেবিলের উপরে পড়ার জন্য খোলা রাখবে: আপনি যখন পড়া শেষ করেন, আপনি যদি বইটি আবার দেখার প্রয়োজন হয় তবে আপনি বইটি টেবিলে খোলা রাখতে পারেন।


4

এই সোলারিস চলমান 512 জিবি র‌্যাম সার্ভারে, কার্নেলটি 25 জিবি ব্যবহার করে:

Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    3210102             25078    5%
Anon                     15266226            119267   23%
Exec and libs               41457               323    0%
Page cache                3539331             27651    5%
Free (cachelist)         13799571            107809   21%
Free (freelist)          30093164            235102   46%

Total                    65949851            515233
Physical                 65927406            515057

সেই ছোট্টটির কার্নেলের দ্বারা ব্যবহৃত র্যামের অর্ধেকেরও বেশি থাকে:

Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    2149699             16794   52%
Anon                       517016              4039   13%
Exec and libs               15420               120    0%
Page cache                  21840               170    1%
Free (cachelist)             8768                68    0%
Free (freelist)           1404862             10975   34%

Total                     4117605             32168
Physical                  4096002             32000

চিন্তার কিছু নেই, অব্যবহৃত র‌্যাম যাইহোক র‌্যাম নষ্ট করে দেয়।


1
আপনি কীভাবে আপনার আউটপুট অর্জন করেছেন তা দয়া করে বর্ণনা করুন।
মাউস

@ মাউস echo ::memstat | mdb -kকিছু সোলারিস 10 প্রডাকশন সার্ভারগুলিতে চালিয়ে যা 10/09 আপডেটের পূর্বাভাস দেয়।
jlliagre
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.