اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

اسکریپت ps_mem برای گزارش گیری دقیق از میزان مصرف RAM در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    اسکریپت ps_mem برای گزارش گیری دقیق از میزان مصرف RAM در لینوکس

    ps_men یک اسکریپت ساده python میباشد که برای به دست آوردن مصرف memory واقعی یک نرم افزار در لینوکس، به ما کمک میکند. بسیاری از ابزارهای رایگان موجود در لینوکس برای نمایش مصرف RAM همانند vmstat, smem, top و etc موجود میباشد، اما این ابزار کمی در مقایسه با دیگر ابزارها به دلیل اینکه مصرف واقعی memory را نمایش میدهد، متفاوت است.
    Click image for larger version  Name:	ps_mem.jpg Views:	1 Size:	138.7 KB ID:	21895


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

    شما میتوانید ابزار ps_mem را از راه های بسیاری همانند package manager یا از طریق pip و یا متد مستقیم (به وسیله اجرا کردن اسکریپت ps_mem.py) نصب کنید.

    نکته : توجه داشته باشید این کار نیاز به دسترسی root دارد.

    همچنین توصیه میشود مطالعه کنید :

    دستور free - یک دستور استاندارد برای چک کردن آمار مصرف فضای استفاده شده توسط رم (Free و Used) در لینوکس

    دستور vmstat - یک ابزار جذاب استاندارد برای گزارش گرفتن آمار Virtual Memory



    نصب ps_mem با استفاده از Package Manager

    در سیستم های خانواده RedHat ابزار ps_mem در ریپازیتوری های پیش فرض وجود دارد، بنابراین ما میتوانیم با استفاده از package manager به راحتی آنرا نصب کنیم.

    برای RHEL/CentOS از Yum Package Manager برای نصب پکیج ps_mem استفاده کنید.
    کد PHP:
    sudo yum install ps_mem 
    برای خانواده Fedora، از dnf Package Manager برای نصب پکیج ps_mem استفاده کنید.
    کد PHP:
    sudo dnf install ps_mem 
    برای خانواده Arch، از pacman Package Manager برای نصب پکیج ps_mem استفاده کنید.
    کد PHP:
    sudo pacman -S ps_mem 


    نصب ps_mem با استفاده از Pip

    pip یک ابزار توصیه شده برای نصب پکیج های Python در لینوکس میباشد. از دستور pip به جای package manager برای گرفتن آخرین ورژن استفاده کنید. شما باید مطمئن شوید که پکیج pip را در سیستم تان داشته باشید. اگر نه که از توزیع package manager برای نصب پکیج python-pip استفاده کنید.

    برای سیستم های مبتنی بر Debian
    کد PHP:
    sudo apt-get install python-pip 

    برای سیستم های مبتنی بر RHEL/CentOS
    کد PHP:
    sudo yum install python-pip 

    برای Fedora
    کد PHP:
    sudo dnf install python-pip 

    برای openSUSE
    کد PHP:
    sudo zypper install python-pip 

    برای سیستم های خانواده Arch
    کد PHP:
    sudo pacman -S python-pip 

    و در آخر ابزار pip را برای نصب ps_mem در لینوکس اجرا کنید.
    کد PHP:
    sudo pip install ps_mem 


    اجرای اسکریپت ps_mem.py به صورت مستقیم

    همچنین ما میتوانیم اسکریپت ps_mem.ph را به صورت مستقیم و با دانلود فایل آن از صفحه ی github اجرا کنیم.
    کد PHP:
    git clone https://github.com/pixelb/ps_mem.git && cd ps_mem
    sudo python ps_mem.py 


    استفاده از ps_mem

    دستور ps_mem را بدون هیچ آپشن اضافه ای برای به دست آوردن اینکه هر نرم افزاری چقدر از فضای memory را مصرف کرده اجرا کنید.
    کد PHP:
    sudo ps_mem
     
    Private  +   Shared  =  RAM used    Program

      1.6 MiB 
    438.5 KiB =   2.1 MiB    packagekitd
      1.7 MiB 
    498.0 KiB =   2.1 MiB    indicator-application-service
    912.0 KiB 
    +   1.3 MiB =   2.2 MiB    window-stack-bridge
      2.0 MiB 
    350.5 KiB =   2.3 MiB    gnome-keyring-daemon
      1.8 MiB 
    575.0 KiB =   2.3 MiB    whoopsie
      2.4 MiB 
    304.5 KiB =   2.7 MiB    systemd-journald
      2.7 MiB 
    157.5 KiB =   2.8 MiB    ibus-engine-simple
      2.7 MiB 
    182.0 KiB =   2.9 MiB    ibus-dconf
      2.7 MiB 
    332.5 KiB =   3.0 MiB    NetworkManager
      3.1 MiB 
    169.5 KiB =   3.2 MiB    polkitd
      1.9 MiB 
    +   1.7 MiB =   3.6 MiB    systemd (2)
      
    3.4 MiB 172.5 KiB =   3.6 MiB    deja-dup-monitor
      2.9 MiB 
    685.0 KiB =   3.6 MiB    zeitgeist-datahub
      2.9 MiB 
    848.0 KiB =   3.7 MiB    python2.7
      3.5 MiB 
    442.0 KiB =   4.0 MiB    dbus-daemon (3)
      
    3.2 MiB 951.0 KiB =   4.1 MiB    evolution-addressbook-factory
      3.9 MiB 
    435.0 KiB =   4.3 MiB    lightdm (2)
      
    3.7 MiB 826.5 KiB =   4.5 MiB    polkit-gnome-authentication-agent-1
      3.7 MiB 
    853.0 KiB =   4.6 MiB    unity-fallback-mount-helper
      3.7 MiB 
    884.0 KiB =   4.6 MiB    ibus-x11
      4.1 MiB 
    590.5 KiB =   4.6 MiB    indicator-sound-service
      4.5 MiB 
    167.0 KiB =   4.7 MiB    udisksd
      4.3 MiB 
    571.0 KiB =   4.9 MiB    gnome-session-binary
      4.5 MiB 
    519.0 KiB =   5.0 MiB    zeitgeist-fts
      4.2 MiB 
    900.5 KiB =   5.1 MiB    indicator-printers-service
      4.1 MiB 
    +   1.0 MiB =   5.1 MiB    bash (2)
      
    3.9 MiB +   1.2 MiB =   5.2 MiB    update-notifier
      4.8 MiB 
    426.0 KiB =   5.2 MiB    pulseaudio
      4.5 MiB 
    +   1.5 MiB =   6.0 MiB    url-dispatcher
      4.3 MiB 
    +   1.7 MiB =   6.0 MiB    python3.5
      5.2 MiB 
    856.5 KiB =   6.1 MiB    evolution-addressbook-factory-subprocess
      5.6 MiB 
    494.5 KiB =   6.1 MiB    colord
      5.0 MiB 
    +   1.2 MiB =   6.2 MiB    bamfdaemon
      5.7 MiB 
    +   1.1 MiB =   6.8 MiB    evolution-source-registry
      5.6 MiB 
    +   1.3 MiB =   6.9 MiB    indicator-keyboard-service
      5.5 MiB 
    +   1.5 MiB =   7.1 MiB    ibus-ui-gtk3
      5.4 MiB 
    +   1.8 MiB =   7.2 MiB    notify-osd
      6.3 MiB 
    +   1.1 MiB =   7.4 MiB    nm-applet
      6.4 MiB 
    +   1.4 MiB =   7.8 MiB    evolution-calendar-factory
      6.3 MiB 
    +   1.5 MiB =   7.8 MiB    hud-service
      6.5 MiB 
    +   1.5 MiB =   8.0 MiB    unity-panel-service
      8.2 MiB 
    +   1.8 MiB =  10.0 MiB    unity-settings-daemon
     11.1 MiB 
    126.5 KiB =  11.2 MiB    snapd
      8.2 MiB 
    +   3.0 MiB =  11.2 MiB    indicator-datetime-service
     10.3 MiB 
    +   1.7 MiB =  12.0 MiB    evolution-calendar-factory-subprocess (2)
     
    12.5 MiB +   2.8 MiB =  15.3 MiB    redshift-gtk
     14.5 MiB 
    +   1.8 MiB =  16.3 MiB    fluxgui
     13.5 MiB 
    +   2.9 MiB =  16.4 MiB    gnome-terminal-server
     12.7 MiB 
    +   7.6 MiB =  20.4 MiB    apache2 (6)
     
    20.8 MiB 503.0 KiB =  21.3 MiB    fwupd
     22.8 MiB 
    +  70.0 KiB =  22.9 MiB    collectl
     22.2 MiB 
    +  10.8 MiB =  33.0 MiB    nautilus
     70.9 MiB 
    +   1.5 MiB =  72.4 MiB    gnome-software
     97.9 MiB 
    +  24.8 MiB 122.8 MiB    Xorg
    131.9 MiB 
    168.0 KiB 132.1 MiB    mysqld
    222.1 MiB 
    +   9.4 MiB 231.5 MiB    compiz
    286.2 MiB 
    +  11.8 MiB 298.0 MiB    firefox
    ---------------------------------
                              
    1.3 GiB
    ================================= 
    برای نمایش خروجی به همراه مسیر کامل نرم افزارها از آپشن -s استفاده کنید.
    کد PHP:
    sudo ps_mem -s
     
    Private  +   Shared  =  RAM used    Program

      3.2 MiB 
    951.0 KiB =   4.1 MiB    /usr/lib/evolution/evolution-addressbook-factory
      3.7 MiB 
    826.5 KiB =   4.5 MiB    /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
      3.7 MiB 
    853.0 KiB =   4.6 MiB    /usr/lib/unity-settings-daemon/unity-fallback-mount-helper
      3.7 MiB 
    884.0 KiB =   4.6 MiB    /usr/lib/ibus/ibus-x11 --kill-daemon
      4.1 MiB 
    590.5 KiB =   4.6 MiB    /usr/lib/x86_64-linux-gnu/indicator-sound/indicator-sound-service
      4.5 MiB 
    167.0 KiB =   4.7 MiB    /usr/lib/udisks2/udisksd --no-debug
      4.3 MiB 
    571.0 KiB =   4.9 MiB    /usr/lib/gnome-session/gnome-session-binary --session=ubuntu
      4.5 MiB 
    519.0 KiB =   5.0 MiB    /usr/lib/x86_64-linux-gnu/zeitgeist-fts
      4.2 MiB 
    900.5 KiB =   5.1 MiB    /usr/lib/x86_64-linux-gnu/indicator-printers/indicator-printers-service
      4.1 MiB 
    +   1.0 MiB =   5.1 MiB    bash (2)
      
    3.9 MiB +   1.2 MiB =   5.2 MiB    update-notifier
      4.8 MiB 
    426.0 KiB =   5.2 MiB    /usr/bin/pulseaudio --start --log-target=syslog
       5.0 MiB 
    863.0 KiB =   5.9 MiB     /usr/lib/evolution/evolution-calendar-factory-subprocess --factory  local --bus-name  org.gnome.evolution.dataserver.Subprocess.Backend.Calendarx2573x3  --own-path  /org/gnome/evolution/dataserver/Subprocess/Backend/Calendar/2573/3
      4.5 MiB 
    +   1.5 MiB =   6.0 MiB    /usr/lib/x86_64-linux-gnu/url-dispatcher/url-dispatcher
      4.3 MiB 
    +   1.7 MiB =   6.0 MiB    python3 -v
       5.2 MiB 
    856.5 KiB =   6.1 MiB     /usr/lib/evolution/evolution-addressbook-factory-subprocess --factory  local --bus-name  org.gnome.evolution.dataserver.Subprocess.Backend.AddressBookx2637x2  --own-path  /org/gnome/evolution/dataserver/Subprocess/Backend/AddressBook/2637/2
      5.6 MiB 
    494.5 KiB =   6.1 MiB    /usr/lib/colord/colord
       5.2 MiB 
    913.0 KiB =   6.1 MiB     /usr/lib/evolution/evolution-calendar-factory-subprocess --factory  contacts --bus-name  org.gnome.evolution.dataserver.Subprocess.Backend.Calendarx2573x2  --own-path  /org/gnome/evolution/dataserver/Subprocess/Backend/Calendar/2573/2
      5.0 MiB 
    +   1.2 MiB =   6.2 MiB    /usr/lib/x86_64-linux-gnu/bamf/bamfdaemon
      5.7 MiB 
    +   1.1 MiB =   6.8 MiB    /usr/lib/evolution/evolution-source-registry
      5.6 MiB 
    +   1.3 MiB =   6.9 MiB    /usr/lib/x86_64-linux-gnu/indicator-keyboard/indicator-keyboard-service --use-gtk
      5.5 MiB 
    +   1.5 MiB =   7.1 MiB    /usr/lib/ibus/ibus-ui-gtk3
      5.4 MiB 
    +   1.8 MiB =   7.2 MiB    /usr/lib/x86_64-linux-gnu/notify-osd
      6.3 MiB 
    +   1.1 MiB =   7.4 MiB    nm-applet
      6.4 MiB 
    +   1.4 MiB =   7.8 MiB    /usr/lib/evolution/evolution-calendar-factory
      6.3 MiB 
    +   1.5 MiB =   7.8 MiB    /usr/lib/x86_64-linux-gnu/hud/hud-service
      6.5 MiB 
    +   1.5 MiB =   8.0 MiB    /usr/lib/x86_64-linux-gnu/unity/unity-panel-service
      8.2 MiB 
    +   1.8 MiB =  10.0 MiB    /usr/lib/unity-settings-daemon/unity-settings-daemon
     11.1 MiB 
    126.5 KiB =  11.2 MiB    /usr/lib/snapd/snapd
      8.2 MiB 
    +   3.0 MiB =  11.2 MiB    /usr/lib/x86_64-linux-gnu/indicator-datetime/indicator-datetime-service
     12.5 MiB 
    +   2.8 MiB =  15.3 MiB    /usr/bin/python3 /usr/bin/redshift-gtk
     14.5 MiB 
    +   1.8 MiB =  16.3 MiB    /usr/bin/python /usr/bin/fluxgui
     13.6 MiB 
    +   2.9 MiB =  16.4 MiB    /usr/lib/gnome-terminal/gnome-terminal-server
     12.7 MiB 
    +   7.6 MiB =  20.4 MiB    /usr/sbin/apache2 -k start (6)
     
    20.8 MiB 503.0 KiB =  21.3 MiB    /usr/lib/x86_64-linux-gnu/fwupd/fwupd
     22.8 MiB 
    +  70.0 KiB =  22.9 MiB    /usr/bin/perl -/usr/bin/collectl -D
     22.2 MiB 
    +  10.8 MiB =  33.0 MiB    nautilus -n
     70.9 MiB 
    +   1.5 MiB =  72.4 MiB    /usr/bin/gnome-software --gapplication-service
     97.9  MiB 
    +  24.8 MiB 122.8 MiB    /usr/lib/xorg/Xorg -core :-seat seat0  -auth /var/run/lightdm/root/:-nolisten tcp vt7 -novtswitch
    131.9 MiB 
    168.0 KiB 132.1 MiB    /usr/sbin/mysqld
    222.1 MiB 
    +   9.4 MiB 231.5 MiB    /usr/bin/compiz
    286.2 MiB 
    +  11.8 MiB 298.1 MiB    /usr/lib/firefox/firefox
    ---------------------------------
                              
    1.3 GiB
    ================================= 
    برای نمایش مصرف رم، فقط برای PID های مورد نظر خود (نرم افزار مورد نظر) از آپشن -p به همراه pid نرم افزار مورد نظر، همانند زیر استفاده کنید.
    کد PHP:
    sudo ps_mem -p 2886,4386
     
    Private  +   Shared  =  RAM used    Program

     13.5 MiB 
    +   2.9 MiB =  16.4 MiB    gnome-terminal-server
    286.2 MiB 
    +  11.8 MiB 298.0 MiB    firefox
    ---------------------------------
                            
    314.4 MiB
    ================================= 

    برای نمایش فرآیند مصرف مموری در هر N ثانیه میتوانید از آپشن w استفاده کنید. در دستور زیر میزان مصرف ram به صورت 2 ثانیه یکبار نمایش داده میشود.
    کد PHP:
    sudo ps_mem w 2 
    برای نمایش جمع کل RAM از آپشن -t همانند زیر کمک بگیرید.
    کد PHP:
    sudo ps_mem -t
    1329884160 
    موفق و سربلند باشید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-09-2021, 11:25 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X