Apache2プロセスが長時間実行され続け、最終的にRAMとプロセッサがいっぱいになる

Apache2プロセスが長時間実行され続け、最終的にRAMとプロセッサがいっぱいになる

新しいサーバー Ubuntu 16 で問題が発生しています。apache2 プロセスが何時間も開いたままになり、サーバーとプロセッサのすべての RAM が 100% 使用率になります。マルウェアが原因か、構成エラーが原因かはわかりません。

これがトッププロセスです トッププロセス

設定は次のとおりですapache2.conf

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off


<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>


<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>


8GB の RAM と 4 つのプロセッサがあるので、これらの設定で問題ないと思いますか?

答え1

たくさんの設定オプションやシステムに関するランダムなデータを私たちに投げつけても、まったく役に立ちません。

科学的な方法を適用する必要があります。

  • インストール監視
  • データを集めます
  • データを活用してシステムを理解する
  • 上記で学んだことに基づいて変更を加えます
  • 変更を監視する
  • 分析を繰り返し、必要に応じて変更を加える
  • 文書の変更

これはロケット工学でもなければ、代替事実でもありません。必要なのは、シンプルな応用システム管理の原則だけです。

参考文献

答え2

これを理解してください。何らかの拡張機能が実行し続け、数分後に CPU が 100% になったことが原因です。

topSSHを使用してコマンドを使用してこれを確認するのが最善です

関連情報