OpenSourceWorld | دنیای متن باز
468 subscribers
155 photos
17 videos
100 files
59 links
دنیای متن باز دنیای حرفه ای ها... 💎

لینک گروه: @OpenSourceWorldGP

مدیریت: @osw_admin
.
Download Telegram
🔹تفسیر چند مفهوم مهم USS/PSS/VSS/RSS در حافظه اصلی:

✍️ سپهراد سالور

سیستم عامل حافظه اصلی کامپیوتر (Memory) را به جای Byte به صورت صفحه به صفحه (Page) استفاده می کند و در لینوکس معمولا اندازه این صفحات 4096 بایت می باشد.

🔸پارامتر VSS یا VSZ: این پارامتر مخفف Virtual Set Size است و مقدار کل فضای آدرسی (Address Space) که برنامه در اختیار دارد را نشان می دهد، یعنی مثلا اگر برنامه ما یک فایل 1GB را Memory Map کند (در مقالات بعدی توضیح خواهم داد) این پارامتر آن را نیز حساب می کند، پس این عدد نشانگر خوبی برای مقدار استفاده واقعی برنامه ما از Memory نیست و استفاده های دیگری دارد. در نتیجه این پارامتر مقدار کل فضای آدرسی که اشغال شده است را نشان می دهد که این آدرس ها می تواند اندازه خود برنامه اصلی، مقدار Heap اشغال شده توسط ()malloc، فایل ها، دیوایس های و ... باشد.

🔸پارامتر RSS: این پارامتر مخفف Resident Set Size است و مقدار کل حافظه ای که خود برنامه بعلاوه Shared Library ها اشغال کرده اند را نشان می دهد، در نتیجه این پارامتر نیز برای محاسبه مقدار واقعی حافظه ای که خود برنامه استفاده می کند نیز مناسب نیست چون Shared Library ها فقط یک بار در حافظه Load می شوند و بین همه برنامه ها به اشتراک گذاشته می شوند و ممکن است یک Shared Library قبل از اجرا برنامه شما در حافظه فراخوانی شده باشد و یا برای اولین بار توسط برنامه شما به حافظه فراخوانی شود. در کل پارامتر بسیار جالب و کاربردی است ولی برای استخراج مقدار حافظه اشغال شده توسط کد های نوشته شده توسط شما مناسب نیست.

🔸پارامتر PSS: این پارامتر مخفف Proportional Set Size است که همانطور که از Proportional به معنی متناسب مشخص است برخلاف RSS که کل فضای اشغال شده توسط Shared Library را به هر برنامه اضافه می کند، PSS آن را بین برنامه ها تقسیم می نماید! یعنی اگر یک Shared Library که 20 صفحه حافظه اشغال کرده توسط دو برنامه مورد استفاده قرار گرفت، PSS هر برنامه مقدار 10 = 2 / 20 را به عنوان Shared Library بعلامه مقدار حافظه خود برنامه جمع می زند. این پارامتر برای مجموع حافظه کل سیستم بسیار مناسب است چرا که با جمع زدن PSS همه برنامه های سیستم مقدار واقعی حافظه کل سیستم مشخص می شود.

🔸پارامتر USS: و در آخر پارامتر USS که مخفف Unique Set Size است به معنی میزان حافظه دقیقی خود برنامه ما استفاده می کند را نشان می دهد.

🔴 نکته مهم: در صورت Kill شدن برنامه در سیستم عامل کل حافظه USS برگشت داده خواهد شد ولی در بقیه پارامتر ها به خاطر وجود Shared Library ها کل آن مقدار به حافظه برگشت داده نخواهد شد چون ممکن است آن کتابخانه توسط برنامه دیگر در حال استفاده باشد در غیر اینصورت آن کتابخانه نیز از حافظه حذف خواهد شد.

#مقاله_آموزشی
#OS #Linux #Memory #RAM #VSS #VSZ #RSS #PSS #USS

🆔 @OpenSourceWorld
🔹تفسیر چند مفهوم مهم USS/PSS/VSS/RSS در حافظه اصلی:

✍️ سپهراد سالور

سیستم عامل حافظه اصلی کامپیوتر (Memory) را به جای Byte به صورت صفحه به صفحه (Page) استفاده می کند و در لینوکس معمولا اندازه این صفحات 4096 بایت می باشد.

🔸پارامتر VSS یا VSZ: این پارامتر مخفف Virtual Set Size است و مقدار کل فضای آدرسی (Address Space) که برنامه در اختیار دارد را نشان می دهد، یعنی مثلا اگر برنامه ما یک فایل 1GB را Memory Map کند (در مقالات بعدی توضیح خواهم داد) این پارامتر آن را نیز حساب می کند، پس این عدد نشانگر خوبی برای مقدار استفاده واقعی برنامه ما از Memory نیست و استفاده های دیگری دارد. در نتیجه این پارامتر مقدار کل فضای آدرسی که اشغال شده است را نشان می دهد که این آدرس ها می تواند اندازه خود برنامه اصلی، مقدار Heap اشغال شده توسط ()malloc، فایل ها، دیوایس های و ... باشد.

🔸پارامتر RSS: این پارامتر مخفف Resident Set Size است و مقدار کل حافظه ای که خود برنامه بعلاوه Shared Library ها اشغال کرده اند را نشان می دهد، در نتیجه این پارامتر نیز برای محاسبه مقدار واقعی حافظه ای که خود برنامه استفاده می کند نیز مناسب نیست چون Shared Library ها فقط یک بار در حافظه Load می شوند و بین همه برنامه ها به اشتراک گذاشته می شوند و ممکن است یک Shared Library قبل از اجرا برنامه شما در حافظه فراخوانی شده باشد و یا برای اولین بار توسط برنامه شما به حافظه فراخوانی شود. در کل پارامتر بسیار جالب و کاربردی است ولی برای استخراج مقدار حافظه اشغال شده توسط کد های نوشته شده توسط شما مناسب نیست.

🔸پارامتر PSS: این پارامتر مخفف Proportional Set Size است که همانطور که از Proportional به معنی متناسب مشخص است برخلاف RSS که کل فضای اشغال شده توسط Shared Library را به هر برنامه اضافه می کند، PSS آن را بین برنامه ها تقسیم می نماید! یعنی اگر یک Shared Library که 20 صفحه حافظه اشغال کرده توسط دو برنامه مورد استفاده قرار گرفت، PSS هر برنامه مقدار 10 = 2 / 20 را به عنوان Shared Library بعلامه مقدار حافظه خود برنامه جمع می زند. این پارامتر برای مجموع حافظه کل سیستم بسیار مناسب است چرا که با جمع زدن PSS همه برنامه های سیستم مقدار واقعی حافظه کل سیستم مشخص می شود.

🔸پارامتر USS: و در آخر پارامتر USS که مخفف Unique Set Size است به معنی میزان حافظه دقیقی خود برنامه ما استفاده می کند را نشان می دهد.

🔴 نکته مهم: در صورت Kill شدن برنامه در سیستم عامل کل حافظه USS برگشت داده خواهد شد ولی در بقیه پارامتر ها به خاطر وجود Shared Library ها کل آن مقدار به حافظه برگشت داده نخواهد شد چون ممکن است آن کتابخانه توسط برنامه دیگر در حال استفاده باشد در غیر اینصورت آن کتابخانه نیز از حافظه حذف خواهد شد.

#مقاله_آموزشی
#OS #Linux #Memory #RAM #VSS #VSZ #RSS #PSS #USS

🆔 @OpenSourceWorld
How_to_Clear_RAM_Memory_Cache,_Buffer.pdf
146 KB
🔹چگونه محتویات Cache و Buffer و یا Swap در Memory را پاک کنیم؟

🖇جمع آوری و نگارش: استاد حاجی غلامعلی

#آموزش_روزانه
#Linux #Memory #Cache #Buffer #Swap

🆔 @OpenSourceWorld
🔹تفسیر چند مفهوم مهم USS/PSS/VSS/RSS در حافظه اصلی:

✍️ سپهراد سالور

سیستم عامل حافظه اصلی کامپیوتر (Memory) را به جای Byte به صورت صفحه به صفحه (Page) استفاده می کند و در لینوکس معمولا اندازه این صفحات 4096 بایت می باشد.

🔸پارامتر VSS یا VSZ: این پارامتر مخفف Virtual Set Size است و مقدار کل فضای آدرسی (Address Space) که برنامه در اختیار دارد را نشان می دهد، یعنی مثلا اگر برنامه ما یک فایل 1GB را Memory Map کند (در مقالات بعدی توضیح خواهم داد) این پارامتر آن را نیز حساب می کند، پس این عدد نشانگر خوبی برای مقدار استفاده واقعی برنامه ما از Memory نیست و استفاده های دیگری دارد. در نتیجه این پارامتر مقدار کل فضای آدرسی که اشغال شده است را نشان می دهد که این آدرس ها می تواند اندازه خود برنامه اصلی، مقدار Heap اشغال شده توسط ()malloc، فایل ها، دیوایس های و ... باشد.

🔸پارامتر RSS: این پارامتر مخفف Resident Set Size است و مقدار کل حافظه ای که خود برنامه بعلاوه Shared Library ها اشغال کرده اند را نشان می دهد، در نتیجه این پارامتر نیز برای محاسبه مقدار واقعی حافظه ای که خود برنامه استفاده می کند نیز مناسب نیست چون Shared Library ها فقط یک بار در حافظه Load می شوند و بین همه برنامه ها به اشتراک گذاشته می شوند و ممکن است یک Shared Library قبل از اجرا برنامه شما در حافظه فراخوانی شده باشد و یا برای اولین بار توسط برنامه شما به حافظه فراخوانی شود. در کل پارامتر بسیار جالب و کاربردی است ولی برای استخراج مقدار حافظه اشغال شده توسط کد های نوشته شده توسط شما مناسب نیست.

🔸پارامتر PSS: این پارامتر مخفف Proportional Set Size است که همانطور که از Proportional به معنی متناسب مشخص است برخلاف RSS که کل فضای اشغال شده توسط Shared Library را به هر برنامه اضافه می کند، PSS آن را بین برنامه ها تقسیم می نماید! یعنی اگر یک Shared Library که 20 صفحه حافظه اشغال کرده توسط دو برنامه مورد استفاده قرار گرفت، PSS هر برنامه مقدار 10 = 2 / 20 را به عنوان Shared Library بعلامه مقدار حافظه خود برنامه جمع می زند. این پارامتر برای مجموع حافظه کل سیستم بسیار مناسب است چرا که با جمع زدن PSS همه برنامه های سیستم مقدار واقعی حافظه کل سیستم مشخص می شود.

🔸پارامتر USS: و در آخر پارامتر USS که مخفف Unique Set Size است به معنی میزان حافظه دقیقی خود برنامه ما استفاده می کند را نشان می دهد.

🔴 نکته مهم: در صورت Kill شدن برنامه در سیستم عامل کل حافظه USS برگشت داده خواهد شد ولی در بقیه پارامتر ها به خاطر وجود Shared Library ها کل آن مقدار به حافظه برگشت داده نخواهد شد چون ممکن است آن کتابخانه توسط برنامه دیگر در حال استفاده باشد در غیر اینصورت آن کتابخانه نیز از حافظه حذف خواهد شد.

#مقاله_آموزشی
#OS #Linux #Memory #RAM #VSS #VSZ #RSS #PSS #USS

🆔 @OpenSourceWorld