উবুন্টুতে এল 1, এল 2, এল 3 ক্যাশে এবং র্যামের আকার জানার কোনও উপায় আছে কি?
কোন টার্মিনাল কমান্ড বা ফাইলগুলি আমি সন্ধান করতে পারি?
উবুন্টুতে এল 1, এল 2, এল 3 ক্যাশে এবং র্যামের আকার জানার কোনও উপায় আছে কি?
কোন টার্মিনাল কমান্ড বা ফাইলগুলি আমি সন্ধান করতে পারি?
উত্তর:
Lscpu কমান্ডটি ব্যবহার করুন :
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 15
Model: 6
Stepping: 5
CPU MHz: 2400.000
BogoMIPS: 6000.33
L1d cache: 16K
L2 cache: 2048K
NUMA node0 CPU(s): 0,1
তালিকাভুক্ত তথ্য প্রতি সিপিইউ-কোর হয়।
এখানে ফ্রি কমান্ড রয়েছে (-হই মানব পাঠযোগ্য রূপে ফলাফল দেয়, অর্থাৎ জিআইবি এর পরিবর্তে বাইটস পরে):
$ free -h
total used free shared buffers cached
Mem: 2.0G 390M 1.6G 10M 15M 160M
-/+ buffers/cache: 215M 1.7G
Swap: 2.0G 0B 2.0G
এটি আপনাকে আপনার ক্যাশের তথ্য দেবে। সকেট পদবি আপনাকে বিভাগে কোন ক্যাশে উল্লেখ করা হচ্ছে তা বলবে।
sudo dmidecode -t cache
র্যামের জন্য কয়েকটি জিনিস দেখার দরকার আছে তবে মেমিনফোতে এটি করা উচিত। আমি মোট / নিখরচায় দেখানোর জন্য এখানে গ্রেপ ব্যবহার করেছি তবে আপনি পুরো জিনিসটি দেখতে কম বা বিড়াল ব্যবহার করতে পারেন। এটি কেবল আকারের চেয়ে মেমরির আকার এবং ব্যবহার সম্পর্কে আরও অনেক তথ্য দেখায়।
grep Mem /proc/meminfo
নীচের কমান্ড এবং এটি থেকে "ক্যাশে" ফিল্টার করে জেকাব্রাম উত্তরের ভিত্তিতে , আপনাকে প্রদর্শিত প্রতিটি ক্যাশে আইটেম।
lscpu | grep cache
এবং র্যাম:
free -h
র্যাম, প্রক্রিয়াগুলি এবং আরও সম্পর্কে আরও তথ্যের জন্য আপনি নিজের ডিস্ট্রোতে হ্যাপ ব্যবহার করতে পারেন। এটি উবুন্টুতে এটি ইনস্টল করুন।
sudo apt-get install htop
সেটির sysfs
for d in /sys/devices/system/cpu/cpu0/cache/index*;
do tail -c+1 $d/{level,type,size}
echo
done
দেয়:
==> /sys/devices/system/cpu/cpu0/cache/index0/level <==
1
==> /sys/devices/system/cpu/cpu0/cache/index0/type <==
Data
==> /sys/devices/system/cpu/cpu0/cache/index0/size <==
32K
==> /sys/devices/system/cpu/cpu0/cache/index1/level <==
1
==> /sys/devices/system/cpu/cpu0/cache/index1/type <==
Instruction
==> /sys/devices/system/cpu/cpu0/cache/index1/size <==
32K
==> /sys/devices/system/cpu/cpu0/cache/index2/level <==
2
==> /sys/devices/system/cpu/cpu0/cache/index2/type <==
Unified
==> /sys/devices/system/cpu/cpu0/cache/index2/size <==
256K
==> /sys/devices/system/cpu/cpu0/cache/index3/level <==
3
==> /sys/devices/system/cpu/cpu0/cache/index3/type <==
Unified
==> /sys/devices/system/cpu/cpu0/cache/index3/size <==
8192K
getconf
getconf -a | grep CACHE
দেয়:
LEVEL1_ICACHE_SIZE 32768
LEVEL1_ICACHE_ASSOC 8
LEVEL1_ICACHE_LINESIZE 64
LEVEL1_DCACHE_SIZE 32768
LEVEL1_DCACHE_ASSOC 8
LEVEL1_DCACHE_LINESIZE 64
LEVEL2_CACHE_SIZE 262144
LEVEL2_CACHE_ASSOC 8
LEVEL2_CACHE_LINESIZE 64
LEVEL3_CACHE_SIZE 20971520
LEVEL3_CACHE_ASSOC 20
LEVEL3_CACHE_LINESIZE 64
LEVEL4_CACHE_SIZE 0
LEVEL4_CACHE_ASSOC 0
LEVEL4_CACHE_LINESIZE 0
বা একক স্তরের জন্য:
getconf LEVEL2_CACHE_SIZE
এই ইন্টারফেসটি সম্পর্কে দুর্দান্ত জিনিসটি হ'ল এটি পসিক্স sysconf
সি ফাংশনটির চারপাশে কেবল একটি আবরণ (ক্যাশে আর্গুমেন্টগুলি নন-পসিক্স এক্সটেনশনগুলি) এবং তাই এটি সি কোড থেকেও ব্যবহার করা যেতে পারে।
উবুন্টু 16.04 এ পরীক্ষিত।
x86 সিপিইউডির নির্দেশনা
সিপিইউডিএল x86 নির্দেশে ক্যাশে সম্পর্কিত তথ্যও সরবরাহ করা হয় এবং এটি ব্যবহারকারীর মাধ্যমে সরাসরি অ্যাক্সেস করা যায়: https://en.wikedia.org/wiki/CPUID
glibc x86- এর জন্য এই পদ্ধতিটি ব্যবহার করছে বলে মনে হচ্ছে। পদক্ষেপ ডিবাগিং / নির্দেশের ট্রেসিং দ্বারা আমি নিশ্চিত করেছিলাম না, তবে ২.২৮ এর উত্সটি sysdeps/x86/cacheinfo.c
তা করে:
__cpuid (2, eax, ebx, ecx, edx);
TODO একটি ন্যূনতম সি উদাহরণ তৈরি করুন, এখনই অলস, এখানে জিজ্ঞাসা করা হয়েছে: https://stackoverflow.com
ক্যাশ সাইজ আইডি রেজিস্টার (সিসিএসআইডিআর) এর মতো রেজিস্টারগুলির মাধ্যমে ক্যাশে আকারগুলি খুঁজতে আর্মের একটি আর্কিটেকচার-সংজ্ঞায়িত প্রক্রিয়াও রয়েছে, একটি সংক্ষিপ্তসার জন্য এআরএমভি 8 প্রোগ্রামারগুলির ম্যানুয়াল 11.6 "ক্যাশে আবিষ্কার" দেখুন।