কার্নেল হ'ল কিছুটা মিসনোমার। লিনাক্স কার্নেলটি বেশ কয়েকটি প্রসেস / থ্রেড + মডিউলগুলি নিয়ে গঠিত ( 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 কেবলমাত্র পেজ ক্যাশে, ডেন্টরি এবং ইনোড সম্পর্কিত তথ্য বজায় রেখে ব্যবহৃত হচ্ছিল।
অতিরিক্ত তথ্য
- আপনি যদি আগ্রহী হন তবে আমি এই ব্লগ পোস্টটি পেয়েছি যা
slabtop
আরও কিছুটা বিশদে আলোচনা করে। এটির শিরোনাম: দিনের লিনাক্স কমান্ড: স্ল্যাবটপ ।
- স্ল্যাব ক্যাশে উইকিপিডিয়ায় এখানে আরও বিস্তারিতভাবে আলোচনা করা হয়েছে, শিরোনাম: স্ল্যাব বরাদ্দ ।
তাহলে আমার কার্নেলটি কতটা র্যাম ব্যবহার করছে?
এই ছবিটি আমার কাছে কিছুটা ধোঁয়াটে, তবে এখানে যে জিনিসগুলি আমি "চিন্তা করি" তা জানি।
ফলক
এই কৌশলটি ব্যবহার করে আমরা স্ল্যাব ব্যবহারের একটি স্ন্যাপশট পেতে পারি। মূলত আমরা এই তথ্যটি বাইরে বের করতে পারি /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)
তথ্যসূত্র