Swappiness වින්‍යාස කරන්නේ කෙසේද?


368

මාර්‍ග වින්‍යාසය වින්‍යාස කිරීමට මට පියවරෙන් පියවර සරල හා පහසු ක්‍රමයක් අවශ්‍යයි.


18
එක් ලයිනර්sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"
රෙඩනිමල්වර්

11
@redanimalwar ඔබ sudo sysctl -psysctl.conf ගොනුවෙන් නව swappiness අගය පූරණය කිරීමට ද ධාවනය කළ යුතුය , එසේ නොමැති නම් වෙනස ඊළඟ නැවත පණගැන්වීමේදී අදාළ වේ.
waldyrious

Answers:


543

ලිනක්ස් කර්නලය මඟින් swapiness ලෙස හැඳින්වෙන swap ගොනුව කොපමණ වාරයක් භාවිතා කරනවාද යන්න පාලනය කළ හැකි වෙනස් කළ හැකි පසුබිමක් සපයයි.

ක swappiness සැකසුම ශුන්ය තැටි අතර ක swappiness සැකසුම, (ඔබ මතක නැති වන ලකුණු) අත්යවශ්යම නම් කළ යුතු කරුණකි වනු ඇති බව ය 100 වැඩසටහන් ක්ෂණිකවම වාගේ තැටිය ජින් සිදු වනු ඇති බව ය.

උබුන්ටු පද්ධතිය පෙරනිමියෙන් 60 ක් වන අතර එයින් අදහස් වන්නේ මතක භාවිතය මගේ RAM වලින් අඩක් පමණ නම් swap ගොනුව බොහෝ විට භාවිතා වන බවයි. ධාවනය කිරීමෙන් ඔබට ඔබේම පද්ධතියේ මාර්‍ගයේ වටිනාකම පරීක්ෂා කළ හැකිය:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

මා සතුව 4 GB RAM ප්‍රමාණයක් ඇති බැවින් එය 10 හෝ 15 දක්වා අඩු කිරීමට මම කැමැත්තෙමි. එවිට swap ගොනුව භාවිතා කරනු ලබන්නේ මගේ RAM භාවිතය සියයට 80 ක් හෝ 90 ක් පමණ වූ විට පමණි . පද්ධතියේ swapiness අගය වෙනස් කිරීම සඳහා, root/etc/sysctl.conf ලෙස විවෘත කරන්න . ඉන්පසු, මෙම රේඛාව ගොනුවට වෙනස් කිරීම හෝ එකතු කිරීම:

vm.swappiness = 10

වෙනස යොදන්න.

sudo sysctl -p

ඔබේ පද්ධතිය තවමත් ක්‍රියාත්මක වන අතරතුර ඔබට අගය වෙනස් කළ හැකිය:

sysctl vm.swappiness=10

එකම බලපෑමක් ලබා ගැනීම සඳහා නැවත ආරම්භ කිරීම වෙනුවට ධාවනය swapoff -aකිරීමෙන් පසුව swapon -aroot ලෙස ඔබේ හුවමාරුව ඉවත් කළ හැකිය .

ඔබේ හුවමාරු සූත්‍රය ගණනය කිරීම සඳහා:

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

එබැවින් එකතුව 3950/100 = 39.5 * 10 = 395 වේ

ඉතින් එහි තේරුම නම් 10% (395 MB) බැටළුවෙකු ඉතිරි වූ විට එය swap භාවිතා කිරීමට පටන් ගැනීමයි.


                                          උදව් . උබුන්ටු. Swap කරන්න

                                           මාරුව යනු කුමක්ද?

Swapiness පරාමිතිය මඟින් කර්නලයේ ක්‍රියාවලිය භෞතික මතකයෙන් ඉවතට ගෙන swap තැටියට ගෙන යාමේ ප්‍රවණතාව පාලනය කරයි. තැටි RAM වලට වඩා මන්දගාමී බැවින්, ක්‍රියාවලි ඕනෑවට වඩා ආක්‍රමණශීලීව මතකයෙන් ඉවතට ගෙන යන්නේ නම් මෙය පද්ධතියට සහ යෙදුම් සඳහා ප්‍රතිචාර දැක්වීමේ වේගය අඩු කරයි.

  • swappiness 0 සහ 100 අතර අගයක් තිබිය හැක.
  • swappiness=0:
    • කර්නල් අනුවාදය 3.5 සහ නවතම: swapiness අක්‍රීය කරයි.
    • 3.5 ට වඩා පැරණි කර්නල් අනුවාදය: හැකිතාක් දුරට භෞතික මතකයෙන් ක්‍රියාදාමයන් මාරු කිරීම වළක්වයි.
  • swappiness=1:
    • කර්නල් අනුවාදය 3.5 සහ ඊට වැඩි: එය සම්පූර්ණයෙන්ම අක්‍රීය නොකර අවම මාරුව.
  • swappiness=100:
    • ක්‍රියාවලි භෞතික මතකයෙන් ඉවතට ගෙන ඒවා හැඹිලි හැඹිලියට ගෙනයාමට කර්නලයට කියයි.

Http://en.wikipedia.org/wiki/Swappiness බලන්න .

උබුන්ටු හි පෙරනිමි සැකසුම වේ swappiness=60. මාර්‍ගයේ පෙරනිමි අගය අඩු කිරීමෙන් සාමාන්‍ය උබුන්ටු ඩෙස්ක්ටොප් ස්ථාපනය සඳහා සමස්ත කාර්ය සාධනය වැඩි දියුණු වනු ඇත. වටිනාකමක් swappiness=10නිර්දේශ කර ඇත, නමුත් අත්හදා බැලීමට නිදහස් වන්න.


උදාහරණයක්

91% කින් swap භාවිතා කිරීම ආරම්භ කරන ලදි :

රූප විස්තරය මෙහි ඇතුළත් කරන්න RAM 90% ක් භාවිතා කිරීම සඳහා මම මගේ පද්ධතිය සහ vm වින්‍යාස කර ඇති පරිදි , 90% ට කිසිදු හුවමාරුවක් සිදු නොවීය.

ඊට පසු මම ෆයර්ෆොක්ස් සහ ෂටර් වැනි යෙදුම් කිහිපයක් විවෘත කළ අතර එය මාරු කිරීමට පටන් ගත්තේ RAM භාවිතය 90% ට වඩා වැඩි නිසාය.


125
100 ක් මාරු කිරීම මඟින් වැඩසටහන් ක්ෂණිකව මාරු වීමට ඉඩ නොදෙන අතර, රැම් 60 හෝ 90% පිරී ඇති විට 60 හෝ 90 ක අගයක් හුවමාරු වේ. එය හැඹිලි එදිරිව පිටු සොරකම් කිරීම සඳහා මනාප අනුපාතයකි. ප්‍රමාණවත් නොවන විට යම් මතකයක් නිදහස් කර ගැනීම සඳහා දේවල් මාරු කිරීම. අඩු අගයක් හැඹිලියෙන් පිටු සොරකම් කිරීමට දැඩි ලෙස කැමති වනු ඇති අතර ඉහළ අගයක් පිටු අත්හදා බැලීමට උත්සාහ කරයි. සැකසුම කිසියම් බලපෑමක් ඇති කරන්නේ මතකය (සියල්ලම පාහේ) භාවිතා කළ පසු පමණක් වන අතර කර්නලය විසින් සමහරක් නිදහස් කරන්නේ කෙසේද යන්න තෝරා ගත යුතුය.
psusi

67
ධාවන වැඩසටහන් මඟින් භාවිතා නොකරන RAM තැටි හැඹිලියක් ලෙස භාවිතා කරන බව ඔබට පෙන්වා දිය යුතුය ... එබැවින්, මාර්‍ගය අඩු කිරීමෙන්, ඔබ වැඩසටහනක් මාරු නොකිරීමේ අවස්ථාව වැඩි කරයි, නමුත් ඒ සමඟම ප්‍රමාණය අඩු වේ තැටි හැඹිලිය, එමඟින් තැටි ප්‍රවේශය මන්දගාමී කළ හැකිය. එබැවින් මෙම සැකසුම සැබෑ කාර්ය සාධනය කෙරෙහි ඇති කරන බලපෑම එතරම් සරල නැත ... ඔබ ඇත්ත වශයෙන්ම අත්හදා බැලීමට සාදරයෙන් පිළිගනිමු, නමුත් පෙරනිමිය සකසා ඇත්තේ විෂය පිළිබඳ ප්‍රමාණවත් අවබෝධයක් ඇති පුද්ගලයින් විසිනි :)
සර්ජි

15
Er සර්ජි සහ එහි ඇති උත්ප්‍රාසය නම්, කුඩා RAM ඇති අය කාර්ය සාධනය ඉහළ නැංවීම සඳහා තමන්ට හමුවිය හැකි සෑම උපක්‍රමයක්ම උත්සාහ කිරීමට බොහෝ දුරට ඉඩ ඇති අතර 60 හෝ ඊට වැඩි පුද්ගලයන් හොඳම පුද්ගලයා වනු ඇති බවයි. අප විසින් එය 10 ට සකසන්නේ අප ටොන් ගණනක RAM ප්‍රමාණයක් ලබා නොගන්නා නිසා ඔවුන් එසේ කළහොත් ඔවුන්ට අහිමි වන තරමටය.
ජෝන් හැනා

6
@Freedom_Ben: බලන්න linuxatemyram.com :)
සර්ජි

6
ඒ හා සමාන සාකච්ඡාවක් මෙහි තබන්න
එලියා ලින්

0

කිසිදු සත්‍ය හුවමාරු කොටස් / ලිපිගොනු නොමැතිව ZRAM හුවමාරුව සඳහා, 100 භාවිතා කරන්න. එය පූර්ව සම්පීඩනය කළ හැකි සෑම දෙයක්ම පූර්ව සම්පීඩනය කරයි, එමඟින් හැඹිලිය නොවෙනස්ව පවතින අතර අවශ්‍ය පරිදි දත්ත ඉක්මනින් දිරාපත් වේ (එසේම, සැබෑ හුවමාරුවකින් තොරව ඔබට admin_reserve_kbytes වැඩි කළ යුතුය x2 හෝ x4 පවා කුසගින්නෙන් පෙළෙන යෙදුමක් අතහරිනවා වෙනුවට අඩු RAM මත මුළු පද්ධතියම කැටි කිරීම වළක්වා ගැනීමට).

තථ්‍ය swap කොටස සහිත SSD සඳහා, 1 භාවිතා කරන්න. එය හැකිතාක් දුරට හුවමාරු වීමෙන් වලක්වනු ඇත, හැඹිලිය කැප කිරීම (නමුත් හැඹිලිය පහසුවෙන් SSD වෙතින් නැවත කියවිය හැකිය).

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.