1GB/2GB(バースト)のQuadCoreプロセッサのOpenVZ VPSアカウントにUbuntu x64マシンがあります。数日前、私はそれを11.10 Oneiric Ocelotに更新することに成功しました。問題は1つだけです。「init」プロセス(PID = 1)のCPU使用率は100%であり、1つのコアを99.5%の時間でフルスロットルに保ちます。
奇妙な初期化の動作を止める解決策はありますか?その初期化プロセスの背後で何が起こっているのかをトレースして、それが非常に高くなる原因を見つけることができますか?
Bellum PLC Forum-Ubuntu 11.10 init 100%cpu usage bug :
スタートアップによるinitのCPU使用率の問題に気づきました。これは常に99%のRAMを消費していました。そして、私は動作修正を見つけることにしました。これはUbuntuによって確認されたバグですが、以下はすべてに対して完全に機能するはずの簡単なクイックフィックスパッチです。
まずSSHを開き、次のPPAを追加します
add-apt-repository ppa:jammy/upstart.fix-880049
Enterキーを押して、もう一度Enterキーを押します。コマンドが見つからないというメッセージが表示された場合は、最初にこのコマンドを発行してください
apt-get install python-software-properties
そしてapt-get update && apt-get upgrade
残念ながら、upstartは 'expect fork'機能のためにptrace()を頻繁に使用するため、ほとんどの場合gdbを使用してトレースまたはアタッチすることは不可能ではないにしても、非常に困難です。
ただし、詳細ログを有効にすることはできます。
initctl log-priority info
もっともっと欲しいなら
initctl log-priority debug
これは、少なくともこれらすべてのCPUサイクルを使い果たすために何をしているのかについての手がかりを与えるかもしれません。
問題は、initが/ dev/consoleへのアクセスを必要とすることです。/dev/consoleは、OpenVZ仮想マシンには存在しません。
物理マシンにアクセスできる場合、物理デバイスへのアクセスを許可することにより、/ dev/consoleデバイスを作成できます。
vzctl set 105 --devices c:5:1:rw --save
105を仮想サーバーの番号に置き換えます。私は同じ問題を抱えていましたが、これはパッチを当てたinitをコンパイルすることなく問題を解決しました。