CentOS 7 কোনও "yum ইনস্টল" ক্রিয়াকলাপের সময় মেমরি বরাদ্দ করতে পারে না


11

চেষ্টা করুন yum install php56w-mcryptএবং সিস্টেম আমাকে এই ত্রুটি দিয়েছে

libmcrypt-2.5.8-13.el7.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
php56w-mcrypt-5.6.5-1.w7.x86_64: [Errno 5] [Errno 12] Cannot allocate memory

আমি একটি চেক চালানো free -m

             total       used       free     shared    buffers     cached
Mem:           490        421         68          8          3         42
-/+ buffers/cache:        376        113
Swap:            0          0          0

top

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 9756 mysql     20   0  727588  81556      0 S  0.3 16.2   1:04.61 mysqld
11089 root      20   0       0      0      0 S  0.3  0.0   0:16.25 kworker/0:2
    1 root      20   0  129396   2020    576 S  0.0  0.4   0:05.88 systemd
    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:00.16 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0
   10 root      20   0       0      0      0 S  0.0  0.0   0:01.82 rcu_sched
   11 root      20   0       0      0      0 R  0.0  0.0   0:02.10 rcuos/0
   12 root      rt   0       0      0      0 S  0.0  0.0   0:00.91 watchdog/0
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
   15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd

আর কোথায় চেক করবেন তা নিশ্চিত নন।

আমি DigitalOceanভিএমএস 512MB র‌্যাম, 5 ডলার / মাসের পরিকল্পনা সহ ব্যবহার করছি am

উত্তর:


8

এই সমস্যাটি হ'ল সার্ভারটিতে কেবল মেশিনে 490MB র্যাম রয়েছে এবং আপনি 421MB ব্যবহার করেছেন। শুধুমাত্র 68MB বিনামূল্যে রেখে; এটি কোনও সিস্টেমের সাথে কাজ করার জন্য খুব বেশি স্মৃতি নয়।

ফলাফল থেকে আউটপুট তাকান topযে MySQL (ওরফে mysqld:) দোষী।

এটি যদি অস্থায়ী পরিস্থিতি হয় তবে আপনি যা করতে পারেন তা হ'ল মাইএসকিউএলকে কেবল এভাবে থামানো হয়:

sudo service mysqld stop

তারপরে মাইএসকিউএল বন্ধ হয়ে গেলে আপনি yum installপ্রত্যাশা অনুযায়ী চালাতে পারেন ।

তবে আর একটি সমাধান হ'ল "মাইএসকিউএল টিউনিং প্রাইমার" এর মতো স্ক্রিপ্টটি সার্ভিসে মাইএসকিউএল ব্যবহার এবং কনফিগারেশনটি মূল্যায়ন করতে সহায়তা করে এবং সে অনুযায়ী সামঞ্জস্য করা। কারণটি হ'ল প্লেইন ভ্যানিলা মাইএসকিউএলটি বাক্সের বাইরে থাকবে মেমোরি হগ। তবে "মাইএসকিউএল টিউনিং প্রাইমার" আপনার ইনস্টলটি মূল্যায়ন করতে সহায়তা করবে এবং আপনি কী টুইট করতে পারবেন তা আপনাকে জানাতে হবে। মেমরির প্রয়োজনীয়তাগুলি হ্রাস করা সহ যাতে সেটআপ আপনার সীমিত সংস্থাগুলিতে খুশি হতে পারে। মাইএসকিউএলটির একমাত্র ক্যাচটি হ'ল "মাইএসকিউএল টিউনিং প্রাইমার" ফলাফলের জন্য মূল্যবান হওয়ার জন্য কমপক্ষে 48 ঘন্টা ধরে সক্রিয়ভাবে চলতে হবে। অতীতে, পারফরম্যান্স মাইএসকিউএলকে এই স্ক্রিপ্টটির সাথে আপনার ল্যাম্প সেটআপটি সূক্ষ্ম-সুর করার দুর্দান্ত উপায় tun

অতিরিক্ত হিসাবে, যেহেতু আপনি অ্যাপাচি চালিয়ে যাচ্ছেন আপনি সম্ভবত অ্যাপাচি (ওরফে httpd) এর জন্য র্যামের প্রয়োজনীয়তা কমিয়ে আনতে পারেন যাতে আপনি আরও বেশি র্যাম মুক্ত করে দেন। এটি অ্যাপাচি-র বুনিয়াদি বিকাশের পরিবেশের জন্য একটি মোটামুটি জেনেরিক সেট, তবে আপনাকে সহায়তা করা উচিত। প্রথমে আপনার পছন্দসই কমান্ড লাইন সম্পাদকের মাধ্যমে আপনার অ্যাপাচি কনফিগারেশনটি খুলুন; আমি পছন্দ করি nanoতবে যে কোনও পাঠ্য সম্পাদক ভাল:

sudo nano /etc/httpd/conf/httpd.conf 

এখন একটি বলার রেখাটি আবিষ্কার করুন Timeoutএবং এটি "120" তে পরিবর্তন করুন; দুই মিনিট একটি যুক্তিসঙ্গত সময়সীমা উইন্ডো:

Timeout 120

একইভাবে এটি MaxKeepAliveRequests"24" তে সন্ধান করুন এবং পরিবর্তন করুন; "বেঁচে থাকুন" সংযোগগুলি ভাল, তবে সেগুলি আপনার সেটআপটিকে অভিভূত করতে দেবে না:

MaxKeepAliveRequests 24

এবং এটি KeepAliveTimeout"2" তে সেট করুন এবং সেট করুন; এটি আপনার সাইটের লোড এবং 2 সেকেন্ডের কোনও পৃষ্ঠা ভাল গড়ের সাথে সংযুক্ত হওয়া উচিত:

KeepAliveTimeout 2

এখন এক্সএমএল কনফিগারেশন নির্দেশিকা সেটটি সন্ধান করুন <IfModule mpm_prefork_module>:

<IfModule mpm_prefork_module>
  StartServers           8
  MinSpareServers       16
  MaxSpareServers       32
  ServerLimit           40
  MaxClients            40
  MaxRequestsPerChild 2000
</IfModule>

এর চাবিটি হ'ল ServerLimitএবং MaxClients। ডিফল্টরূপে অ্যাপাচি এর সেটিংস বেশ উঁচু; 255 কারণ MaxClientsআমি বিশ্বাস করি। তবে বাস্তবতা এমনকি উচ্চ ট্রাফিক সাইটটি প্রতি সেকেন্ডে কেবল 70-80 সংযোগ পাবে ... এবং তারপরে মারা যাবে ... মানে অ্যাপাচি সংযোগগুলি রাষ্ট্রহীন তাই প্রতি সেকেন্ডে বেঞ্চমার্ক সংযোগগুলি। সুতরাং একটি বিকাশ বা ছোট স্কেল সার্ভারের জন্য, "40" একটি ভাল সংখ্যা।

এখন কী কী সমন্বয় করা হয়েছে তা দিয়ে অ্যাপাচি পুনরায় চালু করুন:

sudo service httpd restart

ডিফল্ট / ক্যানড মানগুলির চেয়ে আরও যুক্তিসঙ্গত সেটিংসের জন্য মাইএসকিউএল এবং অ্যাপাচি সামঞ্জস্য করে আপনার সার্ভারের সংস্থানগুলি মুক্ত করতে এবং সবকিছু আরও সুচারুভাবে চালিত করতে পারে।


17

আপনি অদলবদল তৈরি করতে পারেন:

fallocate -l 512M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

এটি স্ব্যাপ ফাইল তৈরি করবে এবং আপনি অ্যাপ্লিকেশন ইনস্টল করতে সক্ষম হবেন। অদলবদল অপসারণ করতে:

swapoff -a
rm -f /swapfile

দেখতে আর্চ উইকি বিস্তারিত জানার জন্য।


1
চমৎকার ধারণা. কোনও ডিস্কের জায়গা হারিয়ে যাওয়ার পাশাপাশি অদলবদল বন্ধ করতে হবে?
রাইডার 33

অদলবদল সেটিংসের উপর নির্ভর করে একটি সিস্টেম এটি 50% মেমরি লোড বা তার উপর ব্যবহার শুরু করতে পারে। যদি আপনার সিস্টেমেটি থাকে তবে ধরুন, 512MB তবে বেশিরভাগ সময় এটি M 400MB ব্যবহার করে তবে এটি অদলবদল ছাড়াই পুরোপুরি সূক্ষ্মভাবে কাজ করবে, তবে এটির সাহায্যে এটি 150MB পিছনে পিছনে বদলানোর চেষ্টাটিকে ধীর করতে পারে। তবে আমি যে ভুল হতে পারে।
pbogut

sudoকমান্ডগুলি ব্যবহার করতে ভুলে যাবেন না
র‌্যাপ্টর

1
ফলোকট প্রতারণা করে এবং কাজ করতে পারে না ... ব্যবহার করুনsudo dd if=/dev/zero of=/swapfile count=512 bs=1MiB
রায় ফোস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.