নীচে আমার সার্ভারে mysql
এবং apache
যথাক্রমে মেমরির ব্যবহার রয়েছে । pmap
কথার আউটপুট অনুযায়ী , mysql
প্রায় 379M ব্যবহার করছে এবং 277M apache
ব্যবহার করছে।
[root@server ~]# pmap 10436 | grep total
total 379564K
[root@server ~]# pmap 10515 | grep total
total 277588K
এর আউটপুটটির সাথে তুলনা করে top
, আমি দেখতে পাচ্ছি মানগুলি প্রায় মিলছে।
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10515 apache 20 0 271m 32m 3132 S 0.0 6.6 0:00.73 /usr/sbin/httpd
10436 mysql 20 0 370m 21m 6188 S 0.0 4.3 0:06.07 /usr/libexec/mysqld --basedir=....
এখন এই মানগুলি অবশ্যই এই দুটি প্রক্রিয়ার বর্তমান মেমরির ব্যবহার নয়, কারণ এটি যদি হয় তবে এটি ram
আমার সিস্টেমে 512 এম ছাড়িয়ে গেছে এবং আমি বুঝতে পারি যে এটি দুটি প্রক্রিয়াতে নির্ধারিত পৃষ্ঠাগুলির আকার এবং সত্যই নয় তাদের দ্বারা সক্রিয়ভাবে ব্যবহৃত মেমরির আকার। এখন, যখন আমরা ব্যবহার করি pmap -x
, আমি একটি অতিরিক্ত কলোন দেখি Dirty
যা প্রক্রিয়াটির জন্য কম মেমরির ব্যবহার দেখায়। নীচের উদাহরণ শোতে দেখা গেছে, Dirty
প্রথম কলম্বনে 379M এর বিপরীতে কলোন 15M দেখায়। আমার প্রশ্ন হ'ল কোলুমনের অধীন মানটি কি এই Dirty
প্রক্রিয়াটির দ্বারা সক্রিয়ভাবে ব্যবহৃত মেমরির 'আসল' পরিমাণ? যদি তা না হয়, তবে আমরা কীভাবে কোনও প্রক্রিয়াটির আসল স্মৃতি ব্যবহার করতে পারি? উপরের একই কারণে নয় ps
এবং top
আমাদের অধীনে কি কিছু আছে?/proc
এই তথ্য দেবে ?
[root@server ~]# pmap -x 10436 | grep total
total kB 379564 21528 15340
[root@server ~]#
[root@server ~]# free -m
total used free shared buffers cached
Mem: 489 447 41 0 52 214
-/+ buffers/cache: 180 308
Swap: 1023 0 1023
[root@server ~]#