انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: mhsafe در 24 فروردین 1392، 06:40 ب‌ظ

عنوان: چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 24 فروردین 1392، 06:40 ب‌ظ
من با یه کد کار می کنم بعد از اینکه کار میکنه و کارش هم تموم میشه باز هم الکی Ram زیادی را اشغال کرده و همینطور CPU بیشتر از حالت عادی مشغوله

صرف نظر از علت مشکل، آیا راهی هست که پشه RAM  استفاده شده الکی را دوباره خالی کرد؟ و یا کارکرد اضافی CPU را کاهش داد؟
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: amin7r در 24 فروردین 1392، 08:20 ب‌ظ
Get Reliable Performance with ZRAM

If you have an old computer with low RAM, you can optimize it using ZRAM, which will create on your system a compressed block device that mimics a swap disk to reduce disk thrashing (aka paging). To install it under Ubuntu 12.04/LinuxMint 13, run this sequence of commands from the terminal:

    sudo add-apt-repository ppa:shnatsel/zram

    sudo apt-get update

    sudo apt-get install zramswap-enabler
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: Matrix.1372 در 24 فروردین 1392، 08:23 ب‌ظ
دوستان کسی روشی سراغ داره که محتوای سواپ رو دوباره برگردونیم روی رم.
می‌دونم این‌کار به مرور صورت می‌گیره ولی مثلا بعد از یک کار سنگین داده زیادی از رم به سواپ منتقل شده و می‌خوام تمامش یک‌جا برگرده به رم.
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: amin7r در 24 فروردین 1392، 08:35 ب‌ظ
Use TMPFS To Reduce Disk I/O

The /tmp folder receives a lot of hard disk read/write operations. You can simply use your system RAM instead of your hard disk to speed up read/write operations for the /tmp folder. To do this, you can follow these instructions:

- Open the terminal and edit the /etc/fstab file with this command:

    sudo gedit /etc/fstab

or

    sudo pluma /etc/fstab

- At the end of the file, add these two lines:

# Move /tmp to RAM
tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Save your file and exit. Restart now your system to apply the new changes.
این هست ولی دقیقا تست نکردم ببینم همون کاری که میخوای رو میکنه یا نه (احتمالا نکنه)
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: سید مسعود امامیان در 24 فروردین 1392، 09:40 ب‌ظ
دوستان کسی روشی سراغ داره که محتوای سواپ رو دوباره برگردونیم روی رم.
می‌دونم این‌کار به مرور صورت می‌گیره ولی مثلا بعد از یک کار سنگین داده زیادی از رم به سواپ منتقل شده و می‌خوام تمامش یک‌جا برگرده به رم.
در واقع از سواپ در زمانی استفاده می شود که رم توان بارگذاری را نداشته باشد.
از طرفی در مقایسه با حافظه، دیسک ها بسیار آهسته هستند، (سرعت حافظه را می توان در نانو ثانیه اندازه گیری کرد، در حالی که دیسک در میلی ثانیه اندازه گیری می شود، بنابراین دسترسی به دیسک می تواند ده هزار برابر کندتر از دسترسی به حافظه فیزیکی صورت بگیرد! ) هنگامی که از سواپ استفاده شد، در این حالت سیستم بدنبال فضای خالی برای برگردان اطلاعات به رم هست و این کار به صورت خودکار انجام می گیرد. شما می توانید هم از فضای سواپ استفاده کنید هم از فایل سواپ(سعی کنید از فضای سواپ بجای فایل سواپ استفاده کنید.) .
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 25 فروردین 1392، 12:00 ب‌ظ
با سپاس فراوان از amin7r

ولی یه سوال پیش اومد برام:

ZRAM  will create on your system a compressed block device that mimics a swap disk to reduce disk thrashing (aka paging)

ظاهرا کار این ZRAM اینه که یه چیزی شبیه SWAP درست کنه. خوب من روی سیستمم یه پارتیشن جدا برای SWAP دارم که وقتی RAM سرریز میشه اضافیش میره تو اون.

کار این برنامه چیه؟ یعنی چه فرقی میکنه؟ (ببخشید که من خیلی مبتدی هستم.)

---------

و یه چیز دیگه اگه یه برنامه ای بود که میشد باهش فهمید الان اطلاعات کدام پروسس روی RAM هست و کدام روی SWAP و یا روی هریک چند درصدش رفته؟ خیلی خوب میشد

و بهتر از اون اینکه بشه با یه نرم افزار این قضیه را مدریت دستی کرد که کی (کدام پروسس ها)بره روی SWAP و کدام روی RAM

و باز هم بهتر تر میشد اگه یه نرم افزاری وجود داشت که به طور اتوماتیک اطلاعاتی را که مراجعه به آنها کم است را به SWAP منتقل کند و برعکس اطلاعاتی را که قبلا روی SWAP رفته و الان زیاد داره مورد استفاده قرار میگره را به RAM منتقل می کرد.

(به عبارت دیگر اولویت حافظه RAM را به طور خودکار به اطلاعات پر مراجعه میداد.)

با سپاس فراوان از راهنمایی و توجه همه دوستان

عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: amin7r در 25 فروردین 1392، 03:33 ب‌ظ
و بهتر از اون اینکه بشه با یه نرم افزار این قضیه را مدریت دستی کرد که کی (کدام پروسس ها)بره روی SWAP و کدام روی RAM

و باز هم بهتر تر میشد اگه یه نرم افزاری وجود داشت که به طور اتوماتیک اطلاعاتی را که مراجعه به آنها کم است را به SWAP منتقل کند و برعکس اطلاعاتی را که قبلا روی SWAP رفته و الان زیاد داره مورد استفاده قرار میگره را به RAM منتقل می کرد.
خوب کار این برنامه اینه که گفتی   یعنی میاد و اطلاعاتی که لازم نداره رو میفرسته روی سواپ و در صورت نیاز بر میگردونه روی رم

خوب راه حل اصلی این هست که شما بیای و نزاری این اطلاعات بالا بیاد (در هنگام بوت غیر فعالش کنی)البته برنامه های غیر ضروری

خوب راه ها مختلفه ولی من 2 تا از ساده ترین راه ها رو میگم
1- این کد رو بزنی
sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktopبعد از وارد کردن کد در ترمینال برای شما در استارت آپ برنامه هایی که هیدن هست و میاد بالا و شما بصورت معمول نمیبینی رو برات در اونجا نشون میده  مثلا اوبونتو وان که ازش استفاده نمیکنی 35 میگ از رم رو میگیره اون یکی از گزینه هاست  بقیقه رو هم خودت تشخیص بده که کدوم رو نمیخوای
فقط یه نکته این که در این قسمت فقط در صورت باز نشدن برنامه سرعتت افزایش پیدا میکنه و اگه بعد بوت اون برنامه رو اجرا کردی میاد و درون رم قرار میگیره و باز باید با سیستم مانیتور برنامه رو کیل(بکشی) کنی
2- استفاده ار برنامه بوت منیجر (داخل مرکز نرم افزاری هست)اسم دقیقش یادم نیست (آلان با اوبونتو نیستم)ولی اگه بزنی بوت منیجر میاد     بعد از نصب یک سری از سرویس های غیر ضروری رو از کار بندار


 استفاده از برنامه های دیگه که من پیشنهادم همین 2 راه ساده هست چون تازه واردی بهتره این 2 راه رو هم بری بویژه راه اولی

اگه رمت بالاست (مثلا 4گیگ)و کار سنگین نمیکنی راهی که به ماتریکس پیشنهاد دادم رو هم میتونی بری اینجوری کلی سرعتت میاد بالا (البته در هنگام کارهای نیمه سنگین) اگه رمت پایین هست پیشنهادم این هست که یه میز کار سبک و کارا رو انتخاب کن و اون رو شخصی سازی کن چون یونیتی برای سیستم های پایین سنگین هست و نیاز به رم بالا داره

ببین برای این جور کارها(از کار انداختن برنامه هنگام بوت) باید خیلی مراقب باشی چون ممکنه سیستم دیگه بالا نیاد (یک برنامه و سرویس حیاتی رو از کار بندازی)ولی برنامه های بیخود روی سیستم زیادن اونها رو از کار بندازی اوبونتوتت شاد میشه مثل همون اوبونتو وان که گفتم ;)
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 25 فروردین 1392، 04:19 ب‌ظ
باز هم سپاس از وقتی که برای من می گذارید، خدا به شما خیر دهد.
------------
من ۲ گیگ رم دارم و وقتی اوبونتو ۱۱.۰۴ بالا میاد که یونیتی هم داره فقط حدود ۲۵۰ مگ از رم را اشغال کرده است. سواپ هم خالی است.
من همیشه قبل از کارهای محاسباتی همون اوبونتو وان را کیل می کنم.
ولی مشکل من خالی کردن چن مگ از رم نیست. کد من وقتی اجرا میشه کل ۲ گیگ رم پر میشه روی سواپ هم ۴ گیگ به بالا پر میشه. تازه این وسط اگه بشه بدم نمیا فایرفاکس هم اجرا داشته باشم که خودش حداقل ۴۰۰ مگابایت را اشغال میکنه. میخوام ببینم میشه یه جوری حالی سیستم کرد که بابا فایرفاکس را ببر روی سواپ؟ یا بعضی جیزای دیگه رو؟

دستوری که شما دادی به من خروجی نمیده چرا؟
اما به مسیر
/etc/xdg/autostart/*.desktopرفتم فکر کنم منظور شما اینه که فایل هایی که توی این مسیر هستند و ما نمی خوامیشون را میشه پاک کرد. درسته؟
این لیست فایل های من هست، کدوم هاش رو میشه پاک کرد؟
at-spi-registryd.desktop         gnome-keyring-secrets.desktop        gwibber.desktop                              pulseaudio-kde.desktop
bluetooth-applet.desktop         gnome-keyring-ssh.desktop            jockey-gtk.desktop                           ubuntuone-launch.desktop
bzr-notify.desktop               gnome-power-manager.desktop          nm-applet.desktop                            update-notifier.desktop
evolution-alarm-notify.desktop   gnome-settings-daemon.desktop        orca-autostart.desktop                       user-dirs-update-gtk.desktop
gdu-notification-daemon.desktop  gnome-user-share.desktop             polkit-gnome-authentication-agent-1.desktop  vino-server.desktop
gnome-at-session.desktop         gnome-volume-control-applet.desktop  print-applet.desktop                         zeitgeist-datahub.desktop
gnome-keyring-pkcs11.desktop     gsettings-data-convert.desktop       pulseaudio.desktop
----------
راجع به این سوال من نظری ندارید:
نقل‌قول
ظاهرا کار این ZRAM اینه که یه چیزی شبیه SWAP درست کنه. خوب من روی سیستمم یه پارتیشن جدا برای SWAP دارم که وقتی RAM سرریز میشه اضافیش میره تو اون.

کار این برنامه چیه؟ یعنی چه فرقی میکنه؟
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: amin7r در 25 فروردین 1392، 05:04 ب‌ظ
در مورد انتقال فایر فاکس روی سواپ نظری ندارم ولی اگه این کار هم بتونی انجام بدی برات فایده نداره چون سرعت سواپ بطور معمول نصف سرعت کلی هارد هست و در بهترین حالت و بهینه ترین حالت کل سرعت یه ساتا 2 250 میگ بر ثانیه هست(میگن 3 گیگا بیت بر ثانیه 370 میگه  ولی من که تست کردم کمتر از این حرفاست) که سرعت خیلی کمیه برای اجرای برنامه ها در حالی که همون طور که سید گفت : سرعت رم در حد میلی ثانیه هست و هارد در حد ثانیه (البته اگه کش هاردت بالا باشه این کار رو برات راحت تر میکنه ولی معمولا کش هارد ها پایین هست مال من 8 میگ هست البته لپ تاپه)

خوب مگه این کد چیه که سیستم رو میترکونه (فکر کنم باید روی یه سیستم قوی تر اجراش کنی البته اگه موقت میخوای تستش کنی)و یا رمت رو ارتقا بدی البته در صورتی که مین و پردازنده ات اجازه بده

خوب این دستوری خروجی نداره بابا من گفتم برو تو Start up managerسیستم (جایی که برنامه ها رو میزاری و اتومات موقع بوت اجرا میشه)بعد از اینکه یک بار این دستور رو در ترمینال بزنی در اونجا برنامه هایی که در حالت معمولی بوت میشه رو نشون نمیده رو برات نشون میده


در مورد کار ZRAM هیچ فرقی نمیکنه فقط اینجوری در حالت عادی رم سیستم کمتر اشغال میشه و برنامه های رم که فراخوانی نمیشه روی سواپ قرار میگیره و در صورت لزوم فراخوانی میشه و دوباره روی رم میاد و در صورت استفاده نشدن مجدد میره روی سواپ (این عمل رو بارها و بارها تکرار میکنه)

خوب با توجه به اینکه طبق گفته شما چیزی نزدیک به 6 گیگ رم میخواین چطوری میخوای با 2 گیگ رم این کار رو انجام بدی (گفتن مجازی نگفتن 4 گیگ مجازی 2 گیگ واقعی :) )

والا من موندم شما داری آپالو هوا میکنی :) این کد مگه چیه؟؟ (اگه خودت نوشتیتش چرا بهینه اش نمیکنی تا موقع اجرا سیستم رو نترکونه)
من در این زمینه نمیتونم بیشتر کمک کنم (چون این کار عملا یه جورایی غیر ممکنه که بتونی برنامه فایرفاکس رو بیاری روی سواپ و اجراش کنی)ولی اگه بشه باید چیز جالبی باشه دی:)

اطلاعات من در همین حد بود امیدوارم کمکی کرده باشه
به هر حال موفق باشی
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: Matrix.1372 در 26 فروردین 1392، 02:11 ق‌ظ
البته سرعت پاسخگویی رم در حد نانو ثانیه سنجیده می‌شه (و نه میلی ثانیه) :)
برای این‌که فایرفاکس هم بره روی سواپ، خب  قبل از این‌که کد رو اجرا کنی فایرفاکس رو باز کن و بعدش به احتمال قوی سیستم خودش منتقلش میکنه و اگر نکرد، دستی اهمیت کد رو ببر بالا (از طریق مثلا system monitor).
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: دانیال بهزادی در 26 فروردین 1392، 12:04 ب‌ظ
آیا راهی هست که پشه RAM  استفاده شده الکی را دوباره خالی کرد؟
این روش یونیکس نیست. اگه نیاز به فضای خالی باشه، خودش اطّلاعات بی‌ارزش قبلی رو پاک می‌کنه

دوستان کسی روشی سراغ داره که محتوای سواپ رو دوباره برگردونیم روی رم.
می‌دونم این‌کار به مرور صورت می‌گیره ولی مثلا بعد از یک کار سنگین داده زیادی از رم به سواپ منتقل شده و می‌خوام تمامش یک‌جا برگرده به رم.
بله. با خاموش کردن swap: $ sudo swapoff -av
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: Matrix.1372 در 26 فروردین 1392، 02:21 ب‌ظ
آیا راهی هست که پشه RAM  استفاده شده الکی را دوباره خالی کرد؟
این روش یونیکس نیست. اگه نیاز به فضای خالی باشه، خودش اطّلاعات بی‌ارزش قبلی رو پاک می‌کنه

دوستان کسی روشی سراغ داره که محتوای سواپ رو دوباره برگردونیم روی رم.
می‌دونم این‌کار به مرور صورت می‌گیره ولی مثلا بعد از یک کار سنگین داده زیادی از رم به سواپ منتقل شده و می‌خوام تمامش یک‌جا برگرده به رم.
بله. با خاموش کردن swap: $ sudo swapoff -av
++
چه عالی!
چرا به فکر خودم نرسیده بود؟! ???
ممنون دانیال جان :)
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 26 فروردین 1392، 06:29 ب‌ظ
اطلاعات من در همین حد بود امیدوارم کمکی کرده باشه
به هر حال موفق باشی

البته که کمک کردی امین آقا، خیلی از شما سپاسگزارم.
و همینطور از همه دوستانی که در بحث مشارکت کردند کمال تشکر را دارم. (ماتریکس و دانیال و ...)

برای این‌که فایرفاکس هم بره روی سواپ، خب  قبل از این‌که کد رو اجرا کنی فایرفاکس رو باز کن و بعدش به احتمال قوی سیستم خودش منتقلش میکنه و اگر نکرد، دستی اهمیت کد رو ببر بالا (از طریق مثلا system monitor).

اینجا ۲ سوال مطرح می شود:

۱. از کجا بفهمم که سیستم فایرفاکس را به سواپ منقل کرده یا نه؟ (البته این سوال را که به طور کلی چطور بفهمیم که چی روی سواپ است و جی روی رم قبلا پرسیده بودم.)

۲. بالا بردن اهمیت کد به صورت دستی ----> فکر می کردم این کار در تخصیص منابع CPU
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: Matrix.1372 در 26 فروردین 1392، 06:58 ب‌ظ
جواب سوال اول رو نمی‌دونم.
ولی در پاسخ به سوال دوم باید عرض کنم، اهمیت یک پروسه تمام منابع سیستم رو شامل میشه هرچند cpu بیشتر خودشو نشون میده.
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mohsen69 در 26 فروردین 1392، 07:33 ب‌ظ
برای اینکه تمایل لینوکسو برای استفاده از سواپ بالا ببرین این کدو توی ترمینال بزنین:
sysctl -w vm.swappiness=60مقدار پیشفرضش شصته. شما یه مقدار بیشتری به جاش وارد کن. بهتره کمتر از ۱۰۰ باشه.
اگر می خوای تنظیمات بعد از راه انداری دوباره باقی بمونه فایل /etc/sysctl.conf رو ویرایش کن.
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 26 فروردین 1392، 07:51 ب‌ظ
با سپاس از آقا دانیال برای نکته زیبای خالی کردن سواپ.

این روش یونیکس نیست. اگه نیاز به فضای خالی باشه، خودش اطّلاعات بی‌ارزش قبلی رو پاک می‌کنه

اما سوال:

۱. برای مطلب فوق رفرنس هم میتوانید بدهید؟


۲. چطور تشخیص می دهد که اطلاعات بی ارزش کدام هستند؟ معیار یونیکس چیست؟
اصلا چرا باید اطلاعات بی ارزش روی رم باقی بماند که البته من معتقدم می ماند.

-------------------

و دوستی که روش افزایش تمایل استفاده از سواپ را، خیلی ممنون ولی این چه فایده ای دارد، باعث کند تر شدن سیستم میشود یا تند تر شدن؟
باز هم میگم اگه میشد به این یونیکس یا لینوکس حالی کرد که چی را بزار روی رم و چی را روی سواپ همه جی حل بود.

یا لااقل خودش عقلش می رسید و مثلا بر اساس این که در چند ثانیه اخیر از کدام اطلاعات روی حافظه موقت توسط پروسس هابیشتر استفاه می شود، آنها را به رم منتقل می کرد و اطلاعات کم کاربرد را به سواپ منتقل می کرد خیلی در افزایش راندمان سیستم موثر بود.


-----------------------
باز هم از مشارکت همه دوستان در این بحث جالب تشکر می کنم.

----------------

برای دوستانی که مثل آقا امین براشون جالب بود که من از چه کدی استفاده می کنم که پدر سیستم را در میاره میتونید به لینک های زیر بروید:

https://launchpad.net/yade/
https://yade-dem.org/doc/

این کد متن باز بدرد خیلی از رشته های مهندسی میخوره (مثل عمران - تمام گرایشها - مکانیک بعضی از گرایش ها- مهندسی شیمی -مهندسی معدن - مهندسی متالورژی و .... و حتی فیزیک گرایش دینامیک مولکولی )
البته رشته من مکانیک گرایش طراحی کاربردی است.

 ;) :)
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: دانیال بهزادی در 26 فروردین 1392، 08:49 ب‌ظ
هیچ سامانه‌ی مدیریت حافظه‌ای اطّلاعات بی استفاده رو پاک نمی‌کنه، چون پاک کردن یه عمل زمان‌بر و بی‌فایده‌است. یونیکس از الگوریتم سالمندی (aging) (https://en.wikipedia.org/wiki/Page_replacement_algorithm#Aging) برای این کار استفاده می‌کنه.
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: فاراب در 26 فروردین 1392، 11:03 ب‌ظ
عزیز جان کدت مشکل داره. اگه از آرایه استفاده میکنی یا بصورت داینامیک حافظه تخصیص میدی، باید حافظه آزاد بشه وگرنه سربار ایجاد شده در حلقه حافظه رو پر میکنه. اگه کدت با C هست بگو تا راهش رو بگم بهت.
عنوان: پاسخ : چطور CPU و RAM را ریفرش کنیم؟ (چیزی شبیه به purge کردن)
ارسال شده توسط: mhsafe در 27 فروردین 1392، 07:21 ب‌ظ
عزیز جان کدت مشکل داره. اگه از آرایه استفاده میکنی یا بصورت داینامیک حافظه تخصیص میدی، باید حافظه آزاد بشه وگرنه سربار ایجاد شده در حلقه حافظه رو پر میکنه. اگه کدت با C هست بگو تا راهش رو بگم بهت.

ممنون از شما دوست عزیز، بله کد من c++ hast (هست.)

این هم لینک کد:
https://yade-dem.org/doc/installation.html
میتوانی به Source code اون مراجعه کنی. خیلی مفصله. اگه از روی پکیج هم نصب کنی متونی با دستور زیر پرفورمنس سیستمت را برای این برنامه برررسی کنی

yade-stable --performance -j2

البته به جای عدد ۲ در آخر دستور باید تعداد کور های cpu را بنویسی تا از همشون استفاده بکنه

و البته بعد از اجرا باید چند دقیقه صبر کنی تا یه سری کد آزمایشی را چند با اجرا کنه تا بهت بگه سیستمت برای تحلیح های واقعی چقدر زمان میگیره که انجامشون بده