回答
autonegをTurn()して「停止」問題を解決しましたethtool -s eth0 duplex full autoneg off
。
私はこれをどうやって見つけましたか?
各停止後に以下の投稿の助けを借りてディスクI / Oを監視すると、rsynclogdが停止後にディスクに書き込んでいることがわかります。その後、/var/logで最後の変更を確認し、kern.logに停止した後にリンク/リンクダウンメッセージがあることがわかりました。だから、おそらくネットワークカードの電源が切れて点灯し、SSH経由で接続したり、Webサーバーにアクセスしようとすると停止しているように見えると思いました。
元の質問
私はXubuntuを使用してバナナの皮を持っています。
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
No LSB modules are available.
Linux version 3.4.103 (bananapi@lemaker) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #4 SMP PREEMPT Thu Dec 18 12:55:58 CST 2014
armv7l
数分ごとにシステム全体が数秒間停止します。実行しようとしましたが、top
CPU%の面で異常な点は表示されません。
SSH経由でログインしたため、動作が停止することがわかりました。
どのプロセスがこのタスクを実行するのかどうかはどうすればわかりますか?私はそれが数分ごとに起こると言いましたが、私が知ることができるのはかなりランダムです。時にはしばらく気付かず、再び入力しなくなります。
top
私が言ったように実行してみました。数秒ごとにリストを更新しているように見えましたが、より長く一時停止してから、「追いつく」1秒で20倍を更新し、通常どおり続けました。
私もそこからApache Webサーバーを実行しています。時々ページをロードするのに長い時間がかかり、次にページが再びダウンすることがわかります。 5〜30秒ほどかかり、しばらくすると再び正常に動作します。
[編集する]
以下の回答に投稿されたコマンドを実行しました。 4096B書き込み、3.5%CPUを搭載したapache2のみが表示され続けますが、停止はありません。その後、突然約10秒間停止して終了する唯一のことはrsyslogd:
0 0 |iotop 4507 40k 511B5.0%|jbd2/sda1-8 55 0 32k 0% 0 0 |iotop 4507 36k 570B 11%|| 0 0 |iotop 4507 40k 719B 11%||11%| 0 0 |iotop 4507 39k 582B 11%||rsyslogd 285 0 8192B0.5% 0 0 |iotop 4507 31k 0 12%|11%| 0 0 |iotop 4507 8653B 600B1.0%|11%| 0 0 |iotop 4507 36k 479B 11%||11%| 0 0 |iotop 4507 42k 534B 11%||11%| 0 0 |iotop 4507 37k 404B 11%||jbd2/sda1-8 55 0 8192B 0% 0 0 |iotop 4507 40k 745B 11%||11%| 0 0 |sshd: bananapi@pts/4 4549 206B 280B 0%|11%| 0 0 |iotop 4507 37k 639B7.5%|11%| 0 0 |iotop 4507 40k 533B 11%||11%| 0 0 |iotop 4507 37k 385B 11%||11%| 0 0 |iotop 4507 41k 511B 11%||11%| 0 0 |iotop 4507 7520B 0 10%|11%| 0 0 |iotop 4507 29k 555B2.5%|11%| 0 0 |iotop 4507 40k 704B 11%||rsyslogd 285 0 8192B 0%
...しかし、このプロセスにはCPU使用量やディスクIOがありません。
修正する: 繰り返しますが、凍結後の唯一の違いは、I / Oログにrsynclogdが表示されることです。
これは本当にソースですか? 8192バイトのみを書き、CPU使用量は0%です。
[編集3] grep rsyslogd *
/var/logで操作を実行しましたが、次のメッセージが表示されました。
syslog:Oct 18 04:28:10 lemaker rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="285" x-info="http://www.rsyslog.com"] rsyslogd was HUPed syslog.1:Oct 18 04:00:01 lemaker rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="267" x-info="http://www.rsyslog.com"] exiting on signal 15. syslog.1:Oct 18 04:00:43 lemaker rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="285" x-info="http://www.rsyslog.com"] start syslog.1:Oct 18 04:00:43 lemaker rsyslogd: rsyslogd's groupid changed to 104 syslog.1:Oct 18 04:00:43 lemaker rsyslogd: rsyslogd's userid changed to 101 syslog.1:Oct 18 04:00:43 lemaker rsyslogd-2039: Could no open output pipe '/dev/xconsole': No such file or directory [try http://www.rsyslog.com/e/2039 ]
期待どおりに行われないこと以外は何をすべきかわかりません。
[編集5]または、動作が中断され、rsyslogdがどこかで問題が発生しているという事実を記録することもできます。 ...のように、相関関係は因果関係と同じではありませんか?最後に更新されたログは/var/logにあります。 syslog、auth.log、kern.log はすべて、ユーザー「syslog」によって記録されます。これはrsyslogd tail kern.logから来たようです。
Oct 18 20:43:59 lemaker kernel: [60223.243773] PHY: sunxi_gmac-0:00 - Link is Down Oct 18 20:44:12 lemaker kernel: [60236.244107] PHY: sunxi_gmac-0:00 - Link is Up - 100/Full Oct 18 20:44:22 lemaker kernel: [60246.244654] PHY: sunxi_gmac-0:00 - Link is Down Oct 18 20:44:36 lemaker kernel: [60260.245033] PHY: sunxi_gmac-0:00 - Link is Up - 100/Full Oct 18 20:45:12 lemaker kernel: [60296.246573] PHY: sunxi_gmac-0:00 - Link is Down Oct 18 20:45:25 lemaker kernel: [60309.246906] PHY: sunxi_gmac-0:00 - Link is Up - 100/Full Oct 18 20:45:57 lemaker kernel: [60341.248303] PHY: sunxi_gmac-0:00 - Link is Down Oct 18 20:46:10 lemaker kernel: [60354.248630] PHY: sunxi_gmac-0:00 - Link is Up - 100/Full Oct 18 20:46:16 lemaker kernel: [60360.249037] PHY: sunxi_gmac-0:00 - Link is Down Oct 18 20:46:30 lemaker kernel: [60374.249405] PHY: sunxi_gmac-0:00 - Link is Up - 100/Full
rsynclogを再インストールして無効にしました。まだ昔のように凍りついています。私の考えでは、rsysnclogが停止したときに何かを記録しているようですが、それは問題ではありません。相関関係は因果関係と同じではないため。
SSH経由でログインしたり、Webサーバーに接続したときに「停止」することがわかったので、問題はリンクを開く/リンクを閉じることができると思いました。これは停止したように見えるかもしれませんが、実際にはネットワークリンクです。
答え1
私はお勧めします統計ツール。これには、問題が発生する場所を絞り込むのに役立つ多くのプラグイン(「dstat --list」でリストされています)があります。
開始点はおそらく最も費用のかかるIOです。
# dstat -s --top-io-adv --top-bio-adv
----swap--- -------most-expensive-i/o-process------- ----most-expensive-block-i/o-process----
used free|process pid read write cpu|process pid read write cpu
0 4000M|chrome 3388 152k 97k0.6%|chrome 3388 155k 95k0.6%
0 4000M|gnome-terminal-server 4635 586B 24k0.1%|chrome 3388 0 12k0.1%
から:http://articles.slicehost.com/2010/11/12/using-dstat-to-check-io-and-swap
答え2
iotop
ハードドライブまたはネットワーク操作によって遅延が発生した場合は、ユーティリティでヒントを提供できます。
答え3
CPU時間ごとにソートを実行しtop
、数秒以上かかる処理を記録する必要があります。その後、停止が発生して再度実行して、top
プロセスが一番上にバブリングされていることを確認します。
特定のサービス(Apache?)が疑われる場合は、サービスを停止して問題が解決しないことを確認してください。通常、top
CPU時間を大量に消費することが報告されているすべての重要でないプロセスを終了します。
ハードウェア構成を説明することも役に立ちます。外部ハードウェアを接続しましたか?の出力は何ですかlsmod
?同様に、不可欠なハードウェアをすべて取り除き、関連モジュールを無効にすることが役に立つかもしれません。
最後に、パフォーマンスを評価するときにイーサネットを使用してください(またはローカル端末に直接接続することをお勧めします)。 WLANはより複雑なシステムであり、複数の場所で動作が停止する傾向があります。たとえば、デバイスの接続が切断され、自動的に再接続されると、WIFIでSSHが停止しているように見えることがあります。