මතක භාවිතය අධීක්ෂණය කරන්නේ කෙසේද?


273

මම මේ topමොහොතේ මතක භාවිතය දැකීමට පුරුදුව සිටිමි . නමුත් යම් කාලයක් තුළ මතක භාවිතය අධීක්ෂණය කිරීමට මම කැමතියි. උදා: අධීක්ෂණය ආරම්භ කර විධාන කිහිපයක් ක්‍රියාත්මක කරන්න, අවසාන වශයෙන් අධීක්ෂණය නවතා එම කාලය තුළ කොපමණ මතකයක් භාවිතා කර ඇත්දැයි බලන්න.

උබුන්ටු සේවාදායකයෙන් මට මෙය කළ හැක්කේ කෙසේද?

සෑම තත්පර 5 කට හෝ ඊට වැඩි කාලයකදී මට ක්‍රොන්ජොබ් එකක් ආරම්භ කළ හැකි යැයි මම සිතමි. නමුත් වර්තමාන මතක භාවිතය පෙළ ගොනුවකට ප්‍රවේශ වීමට පහසු ආකෘතියකින් ලබා ගැනීමට මා භාවිතා කළ යුතු විධානය කුමක්ද?

Answers:


332

පෙර පිළිතුරු ඒකාබද්ධ කිරීම මම නිර්දේශ කරමි

watch -n 5 free -m

දෘ hard තැටි හැඹිලි සඳහා ඕනෑම අමතර මතකයක් භාවිතා කිරීමට ලිනක්ස් කැමති බව සලකන්න . එබැවින් ඔබට නොමිලේ බැලීමට අවශ්‍ය නැත Mem. ඔබට පේළියේ freeතීරුව බැලීමට අවශ්‍යය -/+ buffers/cache:. යෙදුම් සඳහා කොපමණ මතකයක් තිබේද යන්න මෙයින් පෙන්වයි. ඉතින් මම දුවලා free -mගිහින් මේක ගත්තා:

             total       used       free     shared    buffers     cached
Mem:          3699       2896        802          0        247       1120
-/+ buffers/cache:       1528       2170
Swap:         1905         62       1843

මම 1528 MB භාවිතා කරන බවත් 2170 MB නොමිලේ ඇති බවත් මම දනිමි .

සටහන: මෙම watchචක්‍රය නැවැත්වීමට ඔබට Ctrl+ ඔබන්න C.


1
ස්තූතියි, එය තොරතුරු සහිතයි. නමුත් ඔබ මුලින් භාවිතා කළ තීරුවේ 2896සහ පසුව 1528බෆර් සඳහා, ඔබ භාවිතා කරන බව මින් අදහස් 2896 + 1528නොවේද?
ජොනාස්

8
Mem: usedඔබ භාවිතා කළ මුළු මතකය. -/+ buffers/cache: usedඔබගේ මුළු භාවිතා කළ මතක us ණ බෆර සහ හැඹිලිය වේ. ප්‍රතිදානය විහිලු සහගත බව මම දනිමි, නමුත් මෙහි අංක ගණිතයක් අවශ්‍ය නොවේ. ඔබ සොයන්නේ - / + බෆර / හැඹිලි පේළියේ භාවිතා කළ / නොමිලේ.
ජස්ටින් බලකාය

6
-H

1
pointfrmdstryr හොඳ කරුණක්! -h / - මම මෙය ලියන විට මිනිසුන් සිටියේ නැත. gitlab.com/procps-ng/procps/commit/…
ජස්ටින් ෆෝස්

3
bra cbradsh1 ඔබට කළ හැක්කේ free -h, උදා: watch -n 5 free -h"මානව කියවිය හැකි" ප්‍රතිදානය ලබා ගැනීම සඳහා, උදා. ප්‍රතිදානය 2.1Gවෙනුවට 2170.
ජස්ටින් බලකාය

221

මම හිතන්නේ htopහොඳම විසඳුම එයයි.

  • sudo apt-get install htop

මේ ආකාරයෙන් බොහෝ RAM භාවිතා කරන වැඩසටහන් මොනවාදැයි ඔබට පෙනෙනු ඇත. ඔබට අවශ්‍ය නම් එකක් පහසුවෙන් අවසන් කළ හැකිය. මෙන්න තිර රුවක්!


2
htopඑය වඩා “චිත්‍රක” සහ කියවීමට වඩා පහසු නිසා එය හොඳයි free.
mjswensen

1
මට ප්‍රතිදානය තේරෙන්නේ නැහැ. වන RESMB බව යෙදුම විසින් භාවිතා කරන මතක? මොකක්ද SHR?
faizal

1
@faizal: අතථ්‍ය, වෙන් කළ සහ බෙදාගත් මතකය.
මායාකාරිය

1
හා කෙසේද? htopඔබ 'කාලයක් තිස්සේ මතක භාවිතය' පෙන්වන්න?
dangel

htop -s M_SHARE htop -s TIME
ටොමාචි

43

සෑම ධාවන ක්‍රියාවලියක්ම භාවිතා කරන මතකයේ හොඳ බිඳවැටීමක් ඔබ සොයන්නේ නම්, එවිට මම ps_mem.py පරීක්ෂා කර බැලීමට නිර්දේශ කරමි ( මෙහි pixelbeat.org හි ඇත).

ඉහත අදහස් දැක්වීමේදී මම දනිමි, ඔබ සඳහන් කළේ නොමිලේ එක් පේළියක් ලබා ගැනීමට අවශ්‍ය බවය , නමුත් අනෙක් අයට මෙය ප්‍රයෝජනවත් වේ යැයි මම සිතුවෙමි.

උදාහරණ ප්‍රතිදානය:

user@system:~$ sudo ps_mem.py
[sudo] password for user:
 Private  +   Shared  =  RAM used       Program

  4.0 KiB +   7.5 KiB =  11.5 KiB       logger
  4.0 KiB +   8.0 KiB =  12.0 KiB       mysqld_safe
  4.0 KiB +  10.0 KiB =  14.0 KiB       getty
  4.0 KiB +  42.0 KiB =  46.0 KiB       saslauthd (5)
 48.0 KiB +  13.0 KiB =  61.0 KiB       init
 56.0 KiB +  27.5 KiB =  83.5 KiB       memcached
 84.0 KiB +  26.5 KiB = 110.5 KiB       cron
120.0 KiB +  50.0 KiB = 170.0 KiB       master
204.0 KiB + 107.5 KiB = 311.5 KiB       qmgr
396.0 KiB +  94.0 KiB = 490.0 KiB       tlsmgr
460.0 KiB +  65.0 KiB = 525.0 KiB       rsyslogd
384.0 KiB + 171.0 KiB = 555.0 KiB       sudo
476.0 KiB +  83.0 KiB = 559.0 KiB       monit
568.0 KiB +  60.0 KiB = 628.0 KiB       freshclam
552.0 KiB + 259.5 KiB = 811.5 KiB       pickup
  1.1 MiB +  80.0 KiB =   1.2 MiB       bash
  1.4 MiB + 308.5 KiB =   1.7 MiB       fail2ban-server
888.0 KiB +   1.0 MiB =   1.9 MiB       sshd (3)
  1.9 MiB +  32.5 KiB =   1.9 MiB       munin-node
 13.1 MiB +  86.0 KiB =  13.2 MiB       mysqld
147.4 MiB +  36.5 MiB = 183.9 MiB       apache2 (7)
---------------------------------
                        208.1 MiB
=================================

 Private  +   Shared  =  RAM used       Program

මා අකමැති එකම කොටස වන්නේ පිටපතට මූල වරප්‍රසාද අවශ්‍ය බව ප්‍රකාශ කිරීමයි. මෙය සිදුවන්නේ ඇයිදැයි හරියටම බැලීමට මට තවම අවස්ථාවක් ලැබී නැත.


මතකය නූල් අතර බෙදාගෙන තිබේදැයි මම කල්පනා කරමි. එය ක්‍රියාවලි අතර බෙදාගෙන ඇත, එසේ නොවේ ද? අවම වශයෙන් වින්ඩෝස් වල ...
තෝමස් වෙල්ලර්

එබැවින් මෙම අවස්ථාවේදී, හවුල් මතකය යනු හවුල් පුස්තකාල ස්වරූපයෙන් බහුවිධ ක්‍රියාවලීන් විසින් සිතියම් ගත කළ පිටු ය. ඊට අමතරව බහු-නූල් යෙදුම්වල සන්දර්භය තුළ සමස්ත ක්‍රියාවලි මතක අවකාශය එම ක්‍රියාවලියේ සියලුම නූල් වලට ප්‍රවේශ විය හැකිය.
ජේසන් මොක්

4
දැන් PyPI ( pip install ps_mem) සහ GitHub වෙතින් ලබා ගත හැකිය .
ලීෆ් ආර්න් ස්ටෝර්සෙට්

H තෝමස් වෙල්ලර්: ඔව්, නූල් සෑම විටම මතකය බෙදා ගන්නා අතර ක්‍රියාවලීන් යම් යම් තත්වයන් යටතේ සමහරක් හෝ සියල්ලම බෙදා ගත හැකිය.
ලීෆ් ආර්න් ස්ටෝර්සෙට්

මේ සඳහා මම භාවිතා කරන්නේ gnome-system-monitor

25

නිදහස් විධානය භාවිතා කරන්න . නිදසුනක් ලෙස, මෙය පහත දැක්වේ free -m:

             total       used       free     shared    buffers     cached
Mem:          2012       1666        345          0        101        616
-/+ buffers/cache:        947       1064
Swap:         7624          0       7624

free -m | grep /+ ආපසු එන්නේ දෙවන පේළිය පමණි:

-/+ buffers/cache:        947       1064

ස්තූතියි, නියමයි. ඉතින් මෙය 947මතක භාවිතය බෆර සහ හැඹිලි සඳහා භාවිතා කරන මතකය us ණද?
ජොනාස්

12

මෙම ඔරලෝසුව විධානය ප්රයෝජනවත් විය හැක. watch -n 5 freeසෑම තත්පර පහකට වරක් යාවත්කාලීන කිරීම් සමඟ මතක භාවිතය නිරීක්ෂණය කිරීමට උත්සාහ කරන්න .


ස්තූතියි, මෙය විශිෂ්ටයි! කෙසේ වෙතත්, මතක රේඛාව තනි පේළියකින් ලබා ගැනීමට මම කැමැත්තෙමි, එබැවින් පෙළ ගොනුවකට ප්‍රවේශ වීම පහසුය.
ජොනාස්

8

ඔබට එය භාවිතා කළ හැකිය cat /proc/meminfo.

MemTotal:        4039160 kB
MemFree:          309796 kB
MemAvailable:    3001052 kB
Buffers:          345636 kB
Cached:          2341288 kB
SwapCached:            8 kB
Active:          1725160 kB
Inactive:        1551652 kB
Active(anon):     538404 kB
Inactive(anon):    70076 kB
Active(file):    1186756 kB
Inactive(file):  1481576 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       4194300 kB
SwapFree:        4194044 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        589988 kB
Mapped:           255972 kB
Shmem:             18596 kB
Slab:             374888 kB
SReclaimable:     310496 kB
SUnreclaim:        64392 kB
KernelStack:        6976 kB
PageTables:        26452 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     6213880 kB
Committed_AS:    3589736 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      147392 kB
DirectMap2M:     4046848 kB

1
මෙම විධානයේ ඉදිරිපස ඔරලෝසුව එක් කිරීමෙන් එය නියමයි! දී මෙන්watch cat /proc/meminfo
වැඩිහිටි Geek

මෙම freeවිධානය එහි තොරතුරු ගනී /proc/meminfoහා සංයුක්ත ආකාරයෙන් ඔවුන් ඉදිරිපත් කරයි. free -hමිනිසාට කියවිය හැකි නිමැවුම් සඳහා භාවිතා කරන්න .
LoMaPh

4

සමස්ත RAM භාවිතය දෘශ්‍ය අධීක්ෂණය සඳහා, ඔබ බයෝබු භාවිතා කරන්නේ නම් , එය ඔබගේ මතක භාවිතය පර්යන්තයේ පහළ දකුණු කෙළවරේ තබා ගන්නා අතර ඔබ ඕනෑම පර්යන්ත සැසියක සිටියදී ක්‍රියාත්මක වේ.

තිර පිටපතෙන් ඔබට පෙනෙන පරිදි, මගේ අතථ්‍ය යන්ත්‍රයට 1h3m අතිකාල, 0.00 බර, 2.8GHz (අතථ්‍ය) ප්‍රොසෙසරයක් සහ 994MB (21%) RAM පද්ධතියක් ඇත.

භාවිතයේ ඇති බයෝබු


3

තනි රේඛා විසඳුම සහ ප්‍රතිදානය:

free -m | grep "Mem:"

අපේක්ෂිත නිමැවුමට උදාහරණයක් මෙන්න:

Mem:           3944         652         302          18        2990        2930

1

මම පතොක් පාවිච්චි කරනවා . මෙය ඔබගේ මතක භාවිතය යනාදිය යම් කාලයක් තුළ ප්‍රස්ථාරණය කරනු ඇති අතර, ඔබේ වෙබ් බ්‍රව්සරය භාවිතයෙන් භාවිතය පරීක්ෂා කිරීමට ඔබට හැකි වේ.


1

මතක භාවිතය අධීක්ෂණය කිරීම

මතක භාවිතය අධීක්ෂණය කිරීම සඳහා හොඳ ක්‍රමයක් ලෙස පතොක් ගැන සඳහන් කළ පෙර පෝස්ට් එකකට මම වඩා ගැලපේ. කෙසේ වෙතත්, පතොක් තවදුරටත් ප්‍රධාන ධාරාවේ ජනප්‍රිය නොවන බැවින්, ග්‍රැෆයිට් නමින් විකල්ප ප්‍රස්ථාර යෙදුමක් ඇත.

මිනිරන් උබුන්ටු සේවාදායකයක් මත ස්ථාපනය කිරීම පහසු වන අතර එය ස්ථාපනය කිරීම සඳහා, ස්ථාපන ක්‍රියා පටිපාටීන් අනුගමනය කිරීම පහසු කිරීම සඳහා ඔබට මෙම සබැඳිය පරීක්ෂා කළ හැකිය .

මිනිරන් ස්ථාපනය කිරීමෙන් පසු, දැන් ඔබට මතක ප්‍රමිතික එවිය හැකිය, ඔබ කැමති ඕනෑම කාල පරාසයකින්; සෑම තත්පර 5 කට වරක්, සෑම විනාඩියකටම, සෑම පැයකටම ... යනාදිය.

මතක සටහන් ප්‍රස්ථාර කිරීම සඳහා, පෙර පෝස්ට් වල දැනටමත් යෝජනා කර ඇති පරිදි, අවශ්‍ය මතක තොරතුරු රැස් කිරීම සඳහා පද්ධති මෙවලම් භාවිතයෙන් ඔබේම පිටපතක් ලිවිය හැකිය. නැතහොත්, ඔබට පෙර ලියන ලද snmp ප්ලගිනයක් භාවිතා කළ හැකි අතර එය ඔබ වෙනුවෙන් සියලු කටයුතු කරනු ඇත.

ඔබ ඔබේම මතක ස්ක්‍රිප්ට් එකක් ලිවීමට අදහස් කරන්නේ නම්, භාවිතා කළ මතකය ගණනය කිරීමේදී ඔබ ස්වාරක්ෂක හා හැඹිලි මතකය සඳහා වගවීම සහතික කිරීම නුවණට හුරුය, එසේ නොමැතිනම් ඔබ ව්‍යාජ දත්ත රැස් කිරීම අවසන් කරනු ඇත.

ඒ වෙනුවට ඔබට අවශ්‍ය සියලුම ගණනය කිරීම් දැනටමත් සිදුකරන snmp ප්ලගිනයක් භාවිතා කිරීමට ඔබ අදහස් කරන්නේ නම්, මෙහි හොඳින් ක්‍රියා කරන එකක් වෙත සබැඳියක් ඇත: checkMemoryviaSNMP .

SNMP හි වාසි:

මා නිරීක්ෂණය කරන සියලුම දුරස්ථ නෝඩ් වල මම snmp ස්ථාපනය කර ඇත. දුරස්ථ නෝඩ් වල ප්ලගිනයක් පිටපත් කිරීම හෝ තැබීමකින් තොරව මගේ සියලුම පද්ධති එක් මධ්‍යම සේවාදායකයකින් අධීක්ෂණය කිරීමට මෙය මට ඉඩ දෙයි .

SNMP හි අවාසි:

ඔබට මතකය නිරීක්ෂණය කිරීමට අවශ්‍ය සෑම දුරස්ථ නෝඩයකම snmp නියෝජිතයා ස්ථාපනය කර ඇති බව සහතික කළ යුතුය . කෙසේ වෙතත්, මෙම ස්ථාපනය එක් වරක් ගනුදෙනුවක් වනු ඇත. ඔබ ඔබේ පරිසරය තුළ අරක්කැමියා හෝ රූකඩ වැනි ස්වයංක්‍රීය මෙවලම් භාවිතා කරන්නේ නම්, මෙය කිසිසේත්ම ගැටලුවක් නොවේ.

දුරස්ථ නෝඩ් (ය) හි SNMP නියෝජිතයාගේ වින්‍යාසය:

Snmp නියෝජිතයා ස්ථාපනය කිරීමෙන් පසුව, /etc/snmpd/snmpd.conf ගොනුව vi කර එයට මෙම පේළිය එක් කරන්න:

rocommunity  (specify-a-community-string-aka-password-here)

ඉන්පසු snmpd නියෝජිතයා නැවත ආරම්භ කරන්න,

/etc/init.d/snmpd restart

ඉන්පසු, ඔබේ අනෙක් සියලුම සේවාදායකයන් අධීක්ෂණය කිරීම සඳහා ඔබේ මධ්‍යම සේවාදායකයේ ඔබට පහත විධානය ක්‍රියාත්මක කළ හැකිය:

$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ].  System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].

real    0m0.23s
user    0m0.03s
sys     0m0.02s

0

glancesඋත්සාහ කිරීමට තවත් හොඳ විකල්පයකි. යන්තම් pip install Glancesහෝ බාගත මෙතන


0

මම මෙම විසඳුම සොයා ගත් අතර එය ඉතා හොඳින් ක්‍රියාත්මක වන අතර CLI හරහා චිත්‍රක අතුරු මුහුණතක් නිර්මාණය කරයි:

git clone https: // github.com / aristocrats / bashtop.git cd bashtop bash bashtop

තිර රුව:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.