অদলবদলের ব্যবহার খুব বেশি?


9

আমার কাছে একটি ডেবিয়ান সিড বক্স রয়েছে, প্রায় এক মাস আগে তাজা ইনস্টল করা হয়েছে, এই মুহুর্তে কোনও ডেস্কটপ অ্যাপ্লিকেশন চলমান নেই।

আমি যে কোনও কমান্ড চালানোর চেষ্টা করি (ssh এর মাধ্যমে) হার্ড ডিস্কটিকে খুব শক্ত করে তোলে। উবুন্টু ৮.০৪ চালানোর সময় কয়েক সপ্তাহ আগে সিস্টেমটি নির্বিঘ্নে কাজ করেছিল। হার্ডওয়্যার ঠিকঠাক হওয়া উচিত, স্মার্ট সরঞ্জামগুলির কোনও সমস্যা নেই এবং মেমরি পরীক্ষা করা উচিত নয় etc.

আমি সন্দেহ করি যে সমস্যাটি অদলবদলের সাথে সম্পর্কিত:

$ free -h
             total       used       free     shared    buffers     cached
Mem:          998M       986M        12M         0B       464K       904M
-/+ buffers/cache:        81M       917M
Swap:         511M       511M         0B

স্টাফ পরীক্ষার জন্য, আমি দেখতে পাচ্ছি যে আমি রিবুট ছাড়াই অদলবদল অক্ষম করতে পারছি না, যদিও বেশিরভাগ শারীরিক র‌্যাম ক্যাশে ব্যবহৃত হয়:

# swapoff  -a
swapoff: /swapfile: swapoff failed: Cannot allocate memory

এই স্ট্যাকওভারফ্লো উত্তরে উল্লিখিত স্ক্রিপ্টটি চালানোর সময় , সর্বাধিক অদলবদ-ব্যবহার প্রক্রিয়া সবেমাত্র 1.5 মিমি ব্যবহার করছিল এবং মোট গণনা ছিল:

"Overall swap used: 18376 kB"

... যা হিপ বা ফ্রি রিপোর্টের অর্ধ গিগ থেকে অনেক দূরে।

আমি পরিবর্তন চেষ্টা swappinessকরতে 1অর্ধ মাস আগে, কিন্তু কোনো পার্থক্য (একই মেমোরি ব্যবহার নিদর্শন) আছে।

কোন ধারণা কি অপরাধী হতে পারে?

সম্পাদনা করুন : এখানে /proc/meminfoলিখিত সামগ্রী রয়েছে (অনুরূপ পরিস্থিতি, তবে 904 এর পরিবর্তে 702 ম্যাগ ক্যাশে এবং ক্রোমিয়াম এখনও খোলা আছে):

MemTotal:        1022464 kB
MemFree:           14344 kB
Buffers:             192 kB
Cached:           719816 kB
SwapCached:         2212 kB
Active:           304304 kB
Inactive:         657344 kB
Active(anon):     294128 kB
Inactive(anon):   651264 kB
Active(file):      10176 kB
Inactive(file):     6080 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:        127336 kB
HighFree:            316 kB
LowTotal:         895128 kB
LowFree:           14028 kB
SwapTotal:        524284 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        239528 kB
Mapped:            11968 kB
Shmem:            703760 kB
Slab:              28924 kB
SReclaimable:      12116 kB
SUnreclaim:        16808 kB
KernelStack:        2200 kB
PageTables:         5812 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1035516 kB
Committed_AS:    2193368 kB
VmallocTotal:     122880 kB
VmallocUsed:       14092 kB
VmallocChunk:     105548 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      911352 kB
DirectMap2M:           0 kB

এবং top -b -n 1আউটপুট এখানে :

top - 22:00:18 up 1 day,  2:34,  4 users,  load average: 1,97, 1,25, 0,88
Tasks: 137 total,   3 running, 134 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4,9 us,  3,0 sy,  2,7 ni, 83,2 id,  6,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   1022464 total,  1008788 used,    13676 free,      188 buffers
KiB Swap:   524284 total,   524284 used,        0 free,   719792 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM     TIME+ COMMAND
 7861 stenyak   20   0  6336 1252  976 R  18,0  0,1   0:00.03 top
 5194 isabel    30  10 44372 5344 1404 R  12,0  0,5   0:36.11 glmatrix
17940 root      20   0  103m 6844 2828 S   6,0  0,7  11:02.21 Xorg
    1 root      20   0  2280   28    0 S   0,0  0,0   0:02.49 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   0:15.25 ksoftirqd/0
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:0
    6 root      rt   0     0    0    0 S   0,0  0,0   0:00.93 migration/0
    7 root      rt   0     0    0    0 S   0,0  0,0   0:00.46 watchdog/0
    8 root      rt   0     0    0    0 S   0,0  0,0   0:00.73 migration/1
   10 root      20   0     0    0    0 S   0,0  0,0   0:17.30 ksoftirqd/1
   12 root      rt   0     0    0    0 S   0,0  0,0   0:00.43 watchdog/1
   13 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 cpuset
   14 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 khelper
   15 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kdevtmpfs
   16 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 netns
   17 root      20   0     0    0    0 S   0,0  0,0   0:00.44 sync_supers
   18 root      20   0     0    0    0 S   0,0  0,0   0:00.00 bdi-default
   19 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kintegrityd
   20 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kblockd
   22 root      20   0     0    0    0 S   0,0  0,0   0:00.07 khungtaskd
   23 root      20   0     0    0    0 D   0,0  0,0   2:50.47 kswapd0
   24 root      25   5     0    0    0 S   0,0  0,0   0:00.00 ksmd
   25 root      20   0     0    0    0 S   0,0  0,0   0:00.00 fsnotify_mark
   26 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 crypto
   99 root      20   0     0    0    0 S   0,0  0,0   0:00.00 khubd
  115 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ata_sff
  116 root      20   0     0    0    0 S   0,0  0,0   0:00.00 scsi_eh_0
  117 root      20   0     0    0    0 S   0,0  0,0   0:00.00 scsi_eh_1
  118 root      20   0     0    0    0 S   0,0  0,0   0:01.66 kworker/u:1
  152 root      20   0     0    0    0 S   0,0  0,0   0:02.12 jbd2/sda1-8
  153 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
  280 root      20   0  2944  352  128 S   0,0  0,0   0:00.30 udevd
  423 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 hd-audio0
 1286 root      20   0     0    0    0 S   0,0  0,0   0:07.06 jbd2/sda2-8
 1287 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
 1561 root      20   0     0    0    0 S   0,0  0,0   0:03.09 flush-8:0
 1603 root      20   0  2376   48    0 S   0,0  0,0   0:00.33 rpcbind
 1634 statd     20   0  2648   68   64 S   0,0  0,0   0:00.00 rpc.statd
 1639 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 rpciod
 1641 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 nfsiod
 1648 root      20   0  2576    0    0 S   0,0  0,0   0:00.00 rpc.idmapd
 2019 root      20   0 29088  976    0 S   0,0  0,1   0:22.26 rsyslogd
 2123 root      20   0  1876   84   24 S   0,0  0,0   0:00.23 acpid
 2161 message+  20   0  3756  728    0 S   0,0  0,1   0:02.06 dbus-daemon
 2213 daemon    20   0  2152   20    0 S   0,0  0,0   0:00.00 atd
 2231 root      20   0  4488  220  128 S   0,0  0,0   0:00.00 bluetoothd
 2242 root      10 -10     0    0    0 S   0,0  0,0   0:00.00 krfcommd
 2259 avahi     20   0  3272  292  168 S   0,0  0,0   0:00.66 avahi-daemon
 2262 avahi     20   0  3156   24    0 S   0,0  0,0   0:00.00 avahi-daemon
 2265 root      20   0  5968  180  152 S   0,0  0,0   0:00.00 bitlbee
 2271 root      20   0     0    0    0 S   0,0  0,0   0:11.69 kworker/0:2
 2304 root      20   0 19056  700  220 S   0,0  0,1   0:00.75 NetworkManager
 2334 root      20   0  5536  176  108 S   0,0  0,0   0:02.86 cron
 2350 root      20   0  6700  492  152 S   0,0  0,0   0:00.01 sudo
 2351 root      20   0 15304 5880 1428 R   0,0  0,6  61:42.79 iotop
 2359 root      20   0 24256  600   56 S   0,0  0,1   0:01.12 polkitd
 2390 root      20   0  6892  368  180 S   0,0  0,0   0:00.15 modem-manager
 2392 root      20   0  7536   80    0 S   0,0  0,0   0:00.13 cupsd
 2396 root      20   0 20964  516  296 S   0,0  0,1   0:00.15 gdm3
 2712 root      20   0 10068  196   84 S   0,0  0,0   0:11.72 kerneloops
 2714 root      20   0  6896 2108  372 S   0,0  0,2   0:05.69 ddclient - slee
 2802 Debian-+  20   0  7424  100   40 S   0,0  0,0   0:00.05 exim4
 2877 daemon    20   0  1868  236  172 S   0,0  0,0   0:01.22 uptimed
 2881 root      20   0  6464  208  104 S   0,0  0,0   0:00.27 sshd
 2913 root      20   0  1848   72    8 S   0,0  0,0   0:00.00 minissdpd
 2936 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2937 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2938 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2939 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2940 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2941 root      20   0  4328   40   36 S   0,0  0,0   0:00.00 getty
 2961 root      20   0 23384  540  156 S   0,0  0,1   0:00.88 accounts-daemon
 2965 root      20   0 29216  292   64 S   0,0  0,0   0:01.35 console-kit-dae
 3050 root      20   0 27408  320    0 S   0,0  0,0   0:00.48 upowerd
 3115 stenyak   20   0  6260  320   84 S   0,0  0,0   0:00.51 screen
 3119 stenyak   20   0  6260  248   40 S   0,0  0,0   0:00.61 screen
 3121 stenyak   20   0  6260  132   16 S   0,0  0,0   0:00.48 screen
 3124 stenyak   20   0  6388 1004  572 S   0,0  0,1   1:33.81 p2p.sh
 3125 stenyak   20   0 34176 5604 1764 S   0,0  0,5   1:57.10 quasselcore
 3129 stenyak   20   0 55268 2972  652 S   0,0  0,3   3:00.32 bot.py
 3280 rtkit     21   1 18980  180   64 S   0,0  0,0   0:01.23 rtkit-daemon
 3367 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kauditd
 3684 root      20   0  2940  340  112 S   0,0  0,0   0:00.00 udevd
 3685 root      20   0  2940  208    0 S   0,0  0,0   0:00.00 udevd
 5845 root      20   0  6444  904  592 S   0,0  0,1   0:00.00 cron
 5876 stenyak   20   0  1932  428  368 S   0,0  0,0   0:00.00 sh
 5878 stenyak   20   0  6048 1232 1080 S   0,0  0,1   0:00.00 memmon.sh
 7857 stenyak   20   0  5060  508  448 S   0,0  0,0   0:00.00 sleep
 9071 root      20   0  9816  860  200 S   0,0  0,1   0:00.10 sshd
 9080 stenyak   20   0 10180 1112  136 S   0,0  0,1   0:06.93 sshd
 9081 stenyak   20   0  9280 3232  148 S   0,0  0,3   0:00.62 bash
 9436 root      20   0  7396 1188  684 S   0,0  0,1   0:07.05 bitlbee
10285 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/1:0
12728 stenyak   20   0  7960 2960  648 S   0,0  0,3  23:35.01 htop
12950 root      20   0  9832   80   76 S   0,0  0,0   0:00.08 sshd
12955 stenyak   20   0  9832    0    0 S   0,0  0,0   0:00.04 sshd
12956 stenyak   20   0  9304   36   32 S   0,0  0,0   0:00.64 bash
17939 root      20   0 23284 1080  320 S   0,0  0,1   0:00.11 gdm-simple-slav
18062 root      20   0 29808  964  364 S   0,0  0,1   0:00.38 gdm-session-wor
20066 root      20   0     0    0    0 S   0,0  0,0   0:09.72 kworker/0:0
28369 isabel    20   0  1932  112  108 S   0,0  0,0   0:00.03 sh
28404 isabel    20   0  3868  260   68 S   0,0  0,0   0:00.20 ssh-agent
28407 isabel    20   0  3516    0    0 S   0,0  0,0   0:00.00 dbus-launch
28408 isabel    20   0  3420  304  116 S   0,0  0,0   0:00.24 dbus-daemon
28416 isabel    20   0  6344  744  548 S   0,0  0,1   0:00.29 xfconfd
28422 isabel    20   0  8336  496  248 S   0,0  0,0   0:01.46 xscreensaver
28424 isabel    20   0 21932  580  340 S   0,0  0,1   0:00.17 xfce4-session
28430 isabel    20   0 24392 2032 1160 S   0,0  0,2   0:16.32 xfwm4
28432 isabel    20   0  117m 2072  908 S   0,0  0,2   0:01.26 xfce4-panel
28434 isabel    20   0 22520  256  256 S   0,0  0,0   0:00.06 Thunar
28436 isabel    20   0 21016  688  460 S   0,0  0,1   0:00.06 xfsettingsd
28437 isabel    20   0  119m 3344 1312 S   0,0  0,3   0:03.50 xfdesktop
28441 isabel    20   0 21072  272  268 S   0,0  0,0   0:00.07 kerneloops-appl
28443 isabel    20   0 29816  540  228 S   0,0  0,1   0:00.10 polkit-gnome-au
28450 isabel    20   0  263m  544  276 S   0,0  0,1   0:00.30 xfce4-volumed
28452 isabel    20   0 63936  488    0 S   0,0  0,0   0:00.31 tracker-store
28457 isabel    20   0 23240  768  472 S   0,0  0,1   0:00.18 xfce4-settings-
28460 isabel     9 -11 99532  500  248 S   0,0  0,0   0:00.38 pulseaudio
28470 isabel    20   0 21936  612  312 S   0,0  0,1   0:00.20 panel-6-systray
28472 isabel    20   0  339m 1348  552 S   0,0  0,1   0:00.42 xfce4-mixer-plu
28473 isabel    20   0 22028 2292 1740 S   0,0  0,2   0:59.33 xfce4-oragecloc
28514 isabel    20   0  371m  21m 2428 S   0,0  2,1   3:46.22 chromium
28517 isabel    20   0  111m 3020  288 S   0,0  0,3   0:00.58 chromium
28518 isabel    20   0  1948   64    0 S   0,0  0,0   0:00.00 chromium-sandbo
28519 isabel    20   0  120m 3324  288 S   0,0  0,3   0:00.20 chromium
28522 isabel    20   0  128m 3252  204 S   0,0  0,3   0:00.01 chromium
28558 isabel    20   0  208m  52m  476 S   0,0  5,3   1:25.92 chromium
28573 isabel    20   0  271m 103m 1244 S   0,0 10,3   3:01.64 chromium
28693 isabel    20   0  120m 3836  628 S   0,0  0,4   0:43.86 chromium
28696 isabel    20   0 83088 6412  108 S   0,0  0,6   0:16.55 GoogleTalkPlugi
28706 isabel    20   0  159m 6896  972 S   0,0  0,7   9:00.72 chromium
32332 root      20   0     0    0    0 S   0,0  0,0   0:06.24 kworker/1:2
32351 stenyak    9 -11 99108 1032  192 S   0,0  0,1   0:00.51 pulseaudio
32455 root      20   0  9816  108   76 S   0,0  0,0   0:00.11 sshd
32460 stenyak   20   0  9992  264  144 S   0,0  0,0   0:07.43 sshd
32462 stenyak   20   0  9300 1976  108 S   0,0  0,2   0:01.31 bash

আপনি ব্যতীত অন্য কোনও পরামিতি পরিবর্তন করেছেন swappiness?
ডেভিড শোয়ার্টজ

আপনার যন্ত্রটি পূর্ণ full topকোনও পালানো প্রক্রিয়া মেমরি অনুসারে চিহ্নিত করতে ব্যবহার করুন এবং এটি পুনরায় চালু করুন।
থরবজর্ন রাভন অ্যান্ডারসন

অ-সমালোচক সামগ্রী আনইনস্টল করা (মুনিন, অ্যাপাচি ... এর মত) ছাড়াও ডেভিডশওয়ার্টস নং, আমি অন্য কিছু করি নি।
স্টেনিক

@ থরবজর্নআরভান অ্যান্ডারসন কোনও প্রক্রিয়া এই পরিমাণ পরিমাণ স্মৃতি (ভিআইআরটি, আরইএস বা এসএইচআর নয়) ব্যবহার করছে না, এমনকি অর্ধ গিগেরও কাছে নয় , তাই কী মারতে হবে তা আমার কোনও ধারণা নেই। আবার, মোট ব্যবহৃত মেমোরি - / + বাফার / ক্যাশে মাত্র 81 মিমি, (এবং দৃশ্যত কেবল 18 ম্যাগের সোয়াপ প্রকৃত প্রক্রিয়া দ্বারা ব্যবহৃত হয়?)
স্টেনিক

আপনার কাছে একটি 511 এমবি স্বাপ পার্টিশন রয়েছে যা আমরা সম্পূর্ণরূপে ব্যবহার করেছি! শুধু 18. ভরসা নয় free
থোরবজর্ন রাভন অ্যান্ডারসন

উত্তর:


4

আপনি অদলবদল করতে পারবেন না কারণ অদলবদল করা মেমরির পরিমাণটি আপনার র‌্যামের দ্বারা ছাড়ানো যায় না। আপনি বৈধ ত্রুটির বার্তা পাচ্ছেন।

ছোট স্নিপেট

if (!quiet || errno == ENOMEM)
    warn(_("%s: swapoff failed"), orig_special);

return -1;

আমার মতে, আপনার কাজের চাপ আপনার র‌্যামের চাহিদা বাড়ায়। আপনি এমন একটি ওয়ার্কলোড চালাচ্ছেন যার জন্য আরও মেমরি দরকার। পুরো অদলবদলের ব্যবহার এটি নির্দেশ করে। এছাড়াও, অদলবদল 1 এ পরিবর্তন করা কোনও বুদ্ধিমান সিদ্ধান্ত নাও হতে পারে। অদলবদল 1 এ সেট করে এমনটি নির্দেশ করে না যে অদলবদল করা হবে না। এটি কেবলমাত্র আক্রমনাত্মক কার্নেল অদলবদলের ক্ষেত্রে কীভাবে হবে তা নির্দেশ করে, এটি অদলবদলকে বাদ দেয় না। প্রয়োজন হলে অদলবদল হবে।

এছাড়াও আপনি কেন অদলবদকে অক্ষম করার চেষ্টা করছেন তা আমি জানি না। আপনার যদি টন এবং টন র‌্যাম না থাকে তবে আপনার অদলবদল অক্ষম করা উচিত নয়।

অবশ্যই, আপনি রিবুট করতে পারবেন এবং অদলবদলের ব্যবহার শূন্য হবে। এবং আপনি তখন নিরাপদে অদলবদল করতে পারেন। কিন্তু, এটি দীর্ঘমেয়াদে সমস্যার সমাধান করে না।

আপনি কিছু মনে করেন, /proc/meminfoআউটপুট পোস্ট ।


আমি আবার অদলবদল পূরণের অপেক্ষায় রয়েছি (কম্পিউটার ব্যবহারের উপর নির্ভর করে যা এই দিনগুলিতে কম)। আমি কেবল র‌্যাম ক্যাশে ফেলে রেখেছি কিনা তা পরীক্ষা করে দেখতে / পরীক্ষা করার জন্য অদলবদকে অক্ষম করার চেষ্টা করেছি (নেট থেকে যা পড়েছি তা থেকে, আরও র‌্যামের প্রয়োজন হলে সেই 904 ম্যাগের ক্যাশে ফেলে দেওয়া উচিত; এবং আমার ক্রমে 511 ম্যাগ র‌্যামের প্রয়োজন অদলবদল অক্ষম করতে)।
স্টেনিক

গতকাল আবারও অদলবদল ভরে উঠল। ব্যবহারকারী কম্পিউটারটি রিবুট করার আগে একটি ক্রোন-এডি স্ক্রিপ্ট কিছু তথ্য লগ করতে সক্ষম হয়েছিল, যা আমি মূল প্রশ্নে সম্পাদনা করেছি। আশা করি এইটি কাজ করবে.
স্টেনিক

3

আপনার /tmpমাউন্ট হওয়ার জন্য একটি সম্ভাব্য কারণ হ'ল tmpfsঅর্থাত মেমরির সাহায্যে কোনও ফাইল সিস্টেম on

এই ক্ষেত্রে (হয় তাহলে df -hT /tmp/ tmp -র পরিবর্তে), শুধু অপসারণ / সেখানে স্থিত, নূতন স্থান নির্দেশ ফাইল নিশ্চিত কোনো অ্যাপ্লিকেশান ভর্তি আবার করতে (বা যে কোন ফাইল সিস্টেমে মাউন্ট tmpfs: df -ht tmpfs) এবং এই সমস্যার সমাধান করা হবে না।


ভাল যুক্তি. অন ​​ডেটা tmpfsসাধারণত ক্যাশেড হিসাবে প্রদর্শিত হবে ।
স্টাফেন চেজেলাস

জানতাম না! আমি df -ht tmpfs --totalআমার ক্রোন-এড ডিবাগ স্ক্রিপ্টে যুক্ত করেছি। পরের বার সমস্যাটি ঘটে, আমি আউটপুট পোস্ট করব। যদিও একটি প্রশ্ন: আমি কি Usedকলাম, বা কলামটি নিয়ে চিন্তা করব Size?
STenyaK

usedকলাম ফাইল দ্বারা ব্যবহৃত মেমরি আকার রিপোর্ট। এই ফাইলগুলি সরানো মেমরি মুক্ত করবে।
jlliagre

1

মনে রাখবেন যে সিস্টেমটি যদি অদলবদলে মেমরি সরিয়ে দেয় এবং পরিবর্তে বাফারগুলির জন্য মেমরিটি ব্যবহার করে তবে এটি আসলে খারাপ নয়। এটি সম্ভবত দুটি বিষয় নির্দেশ করে:

  • আপনার কাছে প্রচুর অ্যাপ্লিকেশন চলছে (MB 500 এমবি) যা বেশি ব্যবহৃত হয় না
  • আপনি অন্যান্য অ্যাপ্লিকেশনগুলি ব্যবহার করেন যা আপনার কাছে থাকা 1 গিগাবাইট র্যামের চেয়ে অনেক বেশি ডেটা পড়ে / লেখেন। সিস্টেমটি দ্রুত অ্যাক্সেসের জন্য মেমরিতে হার্ড ডিস্ক ডেটা বাফার করে এই অ্যাপ্লিকেশনগুলির জন্য কর্মক্ষমতা উন্নত করার চেষ্টা করে

হ্যাঁ, এটি প্রদর্শিত হতে পারে যে আপনার কেবলমাত্র 600 এমবি মেমরি ব্যবহার করছেন। সিস্টেমটি কীভাবে অদলবদল করছে তা সম্ভবত অতিরিক্ত মেমরির সম্পূর্ণ অ্যাপ্লিকেশন নয়, তবে বাফারগুলিতে খুব বেশি I / O ভারী কাজের চাপ রয়েছে। আপনি সনাক্ত করতে পারবেন কোন প্রক্রিয়া সমস্ত I / O করছে? আপনি কীসের জন্য সার্ভারটি ব্যবহার করছেন?


স্বল্প স্মৃতি ব্যবহারের সময়, কেবলমাত্র গ্রাফিকাল অ্যাপ্লিকেশনটি জিডিএম 3 চলছে running পূর্বে (ব্যবহারকারীর লগ আউট করার আগে), একটি এক্সফেস ডেস্কটপ চলছিল, সবেমাত্র কোনও উইজেট ছিল, এবং কেবলমাত্র ক্রোমিয়াম-ব্রাউজারটি তার কার্য পরিচালকের উপর প্রদর্শিত হয়েছিল। যখন এটি আবার ঘটে, তখন আমি I / O / নিবিড় প্রক্রিয়াগুলি অনুসন্ধান করতে iotop ব্যবহার করব। পরামর্শের জন্য ধন্যবাদ.
স্টেনিক

I / O ভারাক্রিয়া নিজেই অদলবদল করা উচিত নয়। আপনি একটি স্টক কার্নেল ব্যবহার করেন? যদি হ্যাঁ, এটি অবশ্যই একটি মেমরি ফুটো সহ একটি প্রোগ্রাম প্রোগ্রাম।
থরবজর্ন রাভন অ্যান্ডারসন

আমি মাত্র 1 গিগাবাইট র‌্যামের সাহায্যে ক্রোমকে বেশ ব্যবহারযোগ্য বলে মনে করেছি। নিশ্চিত যে এটি দ্রুত এবং স্যান্ডবক্সিং রয়েছে, এর জন্য আপনাকে মেমরির নিবিড়তা দিয়ে অর্থ প্রদান করবে। তবে এটি ব্যাখ্যা করবে না যে কেন আপনার সিস্টেম ক্যাচিংয়ের জন্য 900 এমবি ব্যবহার করে।
কিট আছে - অ্যানি-মৌসে

@ থরবজর্নআরভান অ্যান্ডারসন কার্নেলটি হ'ল: 3.2.0-4-686-pae #1 SMP Debian 3.2.32-1 i686 GNU/Linuxশীর্ষস্থানীয় কিছু অস্বাভাবিক দেখায় না তখন কীভাবে কোনও সম্ভাব্য মেমরি ফাঁস ট্র্যাক করতে পারে?
স্টেনিক

1

আমি এমন কোনও সরঞ্জাম সম্পর্কে জানি না যা আপনাকে প্রতিটি প্রক্রিয়া ভিত্তিতে অদলবদলের আকার দেয় তবে এটি একটি লিখতে যথেষ্ট সহজ হবে ... (শেল স্ক্রিপ্টের উদাহরণ আরও নীচে দেখুন)

লিনাক্স নামের একটি সরঞ্জাম নিয়ে আসে smem। ডেবিয়ান / উবুন্টু এর অধীনে ইনস্টল করতে আপনার ব্যবহার করতে সক্ষম হওয়া উচিত (এটি প্রক্রিয়াটিতে বহু পাইথন প্যাকেজ ইনস্টল করবে):

apt-get install smem

তারপরে এটি ব্যবহার করতে, কেবল smemআপনার কমান্ড লাইনে টাইপ করুন।


বর্তমানের অদলবদলের ব্যবহারের পরিমাণ কত তা জানতে অন্যান্য সমাধান, আপনি প্রক্রিয়া ফাইলের ভিএমএসপ প্যারামিটারটি পরীক্ষা করে দেখতে চান status

ব্যবহার topবা htopবা psবা pgrepবা pidof... প্রক্রিয়া শনাক্তকারী নির্ধারণ ( PID) এবং তারপর অবস্থা ফাইল তাকান:

$ pidof myprocess
123
$ cat /proc/123/status

এটি বর্তমানে প্রক্রিয়া দ্বারা ব্যবহৃত মেমরি সম্পর্কিত তথ্য অন্তর্ভুক্ত করে। একটি উদাহরণ আছে:

Name:   snapinit
State:  S (sleeping)
Tgid:   2769
Ngid:   0
Pid:    2769
PPid:   1
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
FDSize: 64
Groups: 
NStgid: 2769
NSpid:  2769
NSpgid: 2765
NSsid:  2765
VmPeak:   141952 kB
VmSize:   141952 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:     11552 kB
VmRSS:      3444 kB
VmData:      772 kB
VmStk:       136 kB
VmExe:       244 kB
VmLib:     62356 kB
VmPTE:       208 kB
VmPMD:        12 kB
VmSwap:     1968 kB
HugetlbPages:          0 kB
Threads:    1
SigQ:   0/3912
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000014006
SigIgn: 0000000000001000
SigCgt: 00000001800004c8
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
Seccomp:    0
Cpus_allowed:   1
Cpus_allowed_list:  0
Mems_allowed:   00000000,00000001
Mems_allowed_list:  0
voluntary_ctxt_switches:    36
nonvoluntary_ctxt_switches: 23

সুদের অধ্যায় এক কেন দেখাচ্ছে Vm<name>পরামিতি (অর্থাত ভার্চুয়াল মেমরি যা শুধুমাত্র ধরনের একটি প্রক্রিয়া, শুধুমাত্র রিয়েল ফিজিকাল মেমরি সঙ্গে কার্নেল সুযোগসুবিধা উপলব্ধ মেমরি; VM- র আপনার দ্বারা তৈরি করা হয় MMU ):

VmPeak:   141952 kB
VmSize:   141952 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:     11552 kB
VmRSS:      3444 kB
VmData:      772 kB
VmStk:       136 kB
VmExe:       244 kB
VmLib:     62356 kB
VmPTE:       208 kB
VmPMD:        12 kB
VmSwap:     1968 kB

আমার ক্ষেত্রে, আমি দেখতে পাচ্ছি যে একা এই প্রক্রিয়া দ্বারা ব্যবহৃত অদলবদল মেমরি (VmSwap) প্রায় 1968Kb, প্রায় 2Mb।

VmLib পরামিতি ভাগ করা লাইব্রেরি (.so ফাইল) জন্য ব্যবহৃত মেমরির পরিমাণ দেখায়। যদিও এটি দুর্দান্ত দেখাচ্ছে, মনে রাখবেন যে ভাগ করা লাইব্রেরি দ্বারা ব্যবহৃত মেমরিটি ... সমস্ত প্রক্রিয়ার মধ্যে ভাগ করা আছে।

শেলের মধ্যে আপনি কমান্ড লাইনের সাথে প্যারামিটারগুলি পুনরুদ্ধার করতে পারেন:

#!/bin/sh
echo "  NAME                        PID        SWAP"
for PID in /proc/[0-9]*
do
  if stat $PID/status >/dev/null
  then
    # get name of process
    procname=`grep 'Name:' $PID/status | awk -e '{ print $2 };'`
    # get amount of swap in use by that process
    procswap=`grep 'VmSwap:' $PID/status | awk -e '{ print $2 };'`

    printf "%-21s %11d %11d\n" $procname `basename $PID` $procswap
  fi
done

নোট করুন যে process পিআইডি / স্থিতি ফাইলটি অদৃশ্য হয়ে যাবে যখন কোনও প্রক্রিয়া মারা যায় এবং লুপের জন্য এটি সঠিকভাবে পরীক্ষা করে না। এছাড়াও কিছু ফাইল সাধারণ ব্যবহারকারীর দ্বারা পড়া যায় না (যেমন আপনি যদি রুট হন তবে প্রতিটি প্রক্রিয়াটির জন্য আপনি একটি ফলাফল দেখতে পাবেন, অন্যথায় কিছু প্রক্রিয়া কেবল ত্রুটি বা 0 কেবি ফিরে আসে))

একটি নমুনা আউটপুট আছে। SWAP ডেটা কিলো বাইটে রয়েছে

  NAME                        PID        SWAP
systemd                         1         348
watchdog/0                     10           0
ipv6_addrconf                 106           0
ureadahead                  13234          28
gnome-calculato             13997           0
apache2                     14175        7240
freshclam                    1447        3072
systemd-logind               1449         244

-1

অদলবদু পূর্ণ রয়েছে তাই আপনাকে হত্যার প্রক্রিয়া ব্যবহারের জন্য এবং তারপরে ব্যবহারের জন্য কিছু প্রক্রিয়া বন্ধ করতে হবেkill -9 PID sudo swapoff -a

আমার অবস্থায় আমি আমার সাইডিকিক কর্মীকে থামিয়ে দিয়ে আবার অদলবদলের স্মৃতি পুনরায় স্থাপন করেছি।

ডিজিটালওশন সার্ভার অদলবদল মেমরি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.