CentOSでI使用%が高い

このQ&Aのポイント
  • CentOS7でWEBアプリケーションを使って運用しているのですが、I使用%が高くなり、DBにアクセスできなくなる問題が発生しています。
  • 再起動するとI使用%が低下し、問題なく運用できますが、頻繁に発生しており原因がわかりません。
  • ログに関連した問題の可能性もあります。解決策や確認方法をご存知の方は教えてください。
回答を見る
  • ベストアンサー

CentOSで I使用%が高い

CentOS7でWEBアプリケーションを使って運用しているのですが、最近、(と言っても2回目で、前回はちょうど一ヶ月前でした。) サーバーの動きが悪くなり、 # df -ih で確認しますと、 I使用%が98%など、100%近い状態になって、DBにアクセスができなくなります。 再起動をするだけで、 I使用%が1%になり、平常運用できます。 再起動で直るので、特にどこかの容量が大きすぎるということもなさそうなのですが、頻繁に起こりますと困ってしまいまして、こちらは何か原因があるのでしょうか。 変なログ?みたいなものが大量に作られてしまうのでしょうか? 原因や確認方法、解決策をご存知の方がいらっしゃいましたら是非教えてください。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • A1200hd40
  • ベストアンサー率52% (337/648)
回答No.4

ちと、こちらも引っかかる部分が有りましたので、調べてみました。 再起動で動き出す事を仰ってらしたので、再起動でクリアされる一時的に生成されているモノを疑い、tmpfs* inode fullで、google検索をかけました。 *)メモリやスワップパーティションに生成されるファイルシステム。 ヒットした結果の中では、こちらが参考になるかと。 Linuxでinodeが枯渇した場合にどうやって調査するか http://lab.astamuse.co.jp/entry/2018/03/15/114500 df -ihの出力結果のファイルシステムに関わる部分が欲しかったのは、この部分が使い果たされることが「普通にありがちなコト」なので、それを明確にしたかったワケです。 こちらは、apacheの直近の脆弱性についての情報ですが、過去の情報から見るに、サービス拒否の事象も発生しているため、ご利用のバージョン含め、ちょこちょことご確認を。 サイオス セキュリティブログ https://security.sios.com/ Apacheの脆弱性情報(Low: CVE-2020-1927, CVE-2020-1934) https://security.sios.com/vulnerability/apache-security-vulnerability-20200402.html 問題のWEBアプリケーションのサーバ側プログラムのコードベースが判る場合、php等各言語環境の脆弱性情報やフォーラム上のバグレポート、パッケージの更新履歴などもアタり、一致する事例がないか探しては如何でしょう。 centOS公式フォーラム https://forums.centos.org/ カーネルや、その周辺モジュールについても、不具合発生時には同様な情報を問題解決のために漁って、判断材料に加えるとよろしいかと。 あとは、データベースのメンテナンスタスクを、業務時間外**に指定して、リソースの取り合いを抑止するくらいですか、今思いつくのは。 **)標準だとタイムゾーン指定がUTFなままの可能性が有って、9時間+の日本では、意識して設定しないと、ソート・圧縮等のメンテナンスタスクが変な時間に動き出す可能性が・・。

参考URL:
http://lab.astamuse.co.jp/entry/2018/03/15/114500
axbycz
質問者

お礼

A1200hd40さん お忙しい中たくさん教えてくださいまして、本当にありがとうございます。 一つ一つ確認させていただきながらログの勉強をしていきたいと思います。 サーバーを扱うのはなかなか難しいですね。。 (泣) めげずに頑張りたいと思います。 ほんとうにありがとうございました。

その他の回答 (3)

  • A1200hd40
  • ベストアンサー率52% (337/648)
回答No.3

会社内のシステムならば、システム管理者はいないのですか? お尋ねしているのは、そのWEBアプリケーションが稼働しているベースの環境(フレームワーク)と、事象が発生してる時点のログ情報です。 ベースはapacheなのでしょうか、他のhttpサーバプログラムなのでしょうか? それを伴わないモノなのでしょうか? 各クライアントがデータベースに接続できないその時点で、エラーレベルか警告レベルのログは出ていないのでしょうか? あるいは、マシンパワーを食われる、あるいはストレージを占有するような定時処理がcron等で起動していたりしていないのでしょうか?(こういうモノもログに記録されます。 どこかに不具合が出ているならば、ログやジャーナルに、発生した時間と共にエラーや警告が記録されているはずです。 これは、単に「エラー」と記録されるわけではなく、カーネルモジュール名やアプリケーション名なども記録されます。 ストレージがハードウェア不良を起こしている場合も、ATAやSCSI等の該当カーネルモジュールが延々とエラーを吐き続けます。 容量逼迫に至るファイルシステムの名前を提示できないのは、何故でしょう? ファイルシステムの名称は標準化されているので、「特に名前をわざとつける」などしていなければ、提示できないモノでは無いはずです。 見当を付けて、問題の切り分けを行わないと、どうにもなりません。 ですから、その情報が必要なのです。 あなたがsuあるいはsudo権限を持っているならば、topコマンド等のモニタリングプログラムで、プロセッサ占有率を含め、稼働中のすべてのプロセスを確認可能なハズなのですが、そこからも何か読み取れませんか? topコマンドの使い方・見方 https://linuxserver.jp/linux/top%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/ こちらは、より見易いhtopについて。 htopコマンドで覚えておきたい使い方11個 https://orebibou.com/2016/05/htop%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E4%BD%BF%E3%81%84%E6%96%B911%E5%80%8B/

参考URL:
https://linuxserver.jp/linux/top%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/
axbycz
質問者

お礼

A1200hd40さん お返事ありがとうございます。 ベースはapacheです。 >各クライアントがデータベースに接続できないその時点で、エラーレベルか警告レベルのログは出ていないのでしょうか? この時は、容量がいっぱいです、というようなメッセージが出ていました。 定時処理をcronで行なっていますが、こちらはバックアップを取っているくらいです。 ログを見るのに慣れていないもので、どう見たらいいかわからなかったのですが、一つ一つ確認していくということですね。 >容量逼迫に至るファイルシステムの名前 こちらどう見ればいいのかわかりません、、現在は問題なく動いていますので、またおかしくなったときに確認してみます。 問題があったときに、容量のグラフみたいなものからどこが問題があるのかを掘り下げてみたりしたのですが、特に原因がこれ、というものに当たらず、再起動したら問題がなくなったということなので、既存ファイルには関係がないのかなと思ったので、どう探していけばいいのかなと思いました。 色々ログの見方を教えてくださいましてありがとうございます。 まずはログの見方を勉強してみます。 問題なく動いている時はいいのですが、原因がわからず動かなくなった時は、本当に困ってしまいまして。。 普段からログを見るようにします。 ありがとうございます。

  • A1200hd40
  • ベストアンサー率52% (337/648)
回答No.2

>WEBアプリケーションを使って とりあえずお使いのモノが判らなければ、どなたも調べようがありません。 「その状態に陥った時点」の「それ」に関するログか、ジャーナルの部分を調べるワケですから。 そのへんの開示をお願いします。 journalctlの参考サイトを、もひとつ。 CentOS 7におけるログ機構「Systemd Journal」を使いこなす https://thinkit.co.jp/story/2014/12/18/5389

参考URL:
https://thinkit.co.jp/story/2014/12/18/5389
axbycz
質問者

お礼

A1200hd40さん お返事ありがとうございます。 すみません、WEBアプリケーションは多数で、複数人で使っています。(社内で使っていて、いろんな部署の人が使っています) ですので、どれが原因で何をした時、というものが突き詰めることができないのです。。 使っている人から、なんか表示がおかしいとか動きが悪い、と言われて、# df -ih で確認しますと、 I使用%が98%など、100%近い状態になって、再起動したら、すっきり治る、という感じです。 サーバー全体で、どこがおかしい、というのが見ることができるのかなと思ったのですが、そういうことはできないということでしょうか。。? なんとなく、先にDBにアクセスしづらくなって、そのうちにページも表示できなくなっていく、というような現象に見えます。

  • A1200hd40
  • ベストアンサー率52% (337/648)
回答No.1

具体的情報が不足しています。 ハードウェアとしてのサーバの応答は、その時点で動いてるモノ(apache等のサーバプログラム等)に影響を受けるでしょうから、そのへんのログ、もしくはジャーナルを漁ってみては? systemd ジャーナルの掘り方は、google検索でヒットした中では同じcentos7のこちらを参考にされては如何でしょう? https://yomon.hatenablog.com/entry/2016/05/24/192046 ファイルシステム未指定でiノードの容量の話をされても、リモート出来るワケではありませんから、どなたも回答出来かねるかと思われます。

参考URL:
https://yomon.hatenablog.com/entry/2016/05/24/192046
axbycz
質問者

お礼

A1200hd40さん お返事ありがとうございました。 ログを見るのに慣れてないもので、教えていただいたサイトのコードを最初から試していったらよろしいでしょうか。 (まず最初のコードを試してみたのですが、特に問題がありそうではなく、といっても見方が悪いのかもしれませんが。。) また、ログの表示で、これが表示されたら気をつけたほうがいい、みたいなことはありますでしょうか。 他にどのような情報をご提示したらよろしいでしょうか。 重ね重ね申し訳ございませんが、ご教授いただけましたら幸いです。 よろしくお願いいたします。

関連するQ&A

  • partion imageを使用したCentos5のバックアップ

    partion imageを使用しCentos5のバックアップをしたいのですが、 partion image を起動すると、  hda1    ext3fs      101.94Mib  hda2 -unknown-      76.59 Gib  sda1 fat16           62.35Mib と表示され、hda2のファイルシステムが、-unknown-になってしまい、バックアップが実行できません。 Centosを起動しdf -h を実行すると  /dev/mapper/VolGroup00-LogVol00    74G ・・・  /dfv/hda1                      99M ・・・  tmpfs                         232M ・・・ と表示され、partition imageでは、[hda2」と表示された区画が、 「mapper/VolGroup00-LogVol00 」と表示されます。 これは、LVMが使用されているためだと思いますが、これが影響しているのでしょうか?

  • 外付けHDDへのCentOSインストール

    仕事でLinuxを使用する事になり学習中です。 自宅のPCにCentOSをインストールして、Webサーバ・DBサーバ等を構築してみよ うと思っているのですが、 自宅に余っているPCはなく、使用しているPC(LetsNOTE CF-T5)は容量の問題で CentOSをインストールできません。 そこで、余っている外付けHDDにCentOSをインストールしようと思うのですが、 可能でしょうか? 外付けHDDにCentOSをインストールして起動時に外付けHDDからOSを起動する方法 VMwareをインストールしてCentOSをインストールする方法 等が考えられると思うのですが、よい方法についてアドバイスお願いいたします。

  • CentOS4.3のGnomeでフリーズ

    こんばんは。 Linuxを勉強し始めているハッタリSEです。 自作PCにCentOS4.3をインストールしてサーバーを構築しようとしているのですが、Gnomeのデスクトップを操作していると5分もしないうちにマウスもキーボードも全く使えない状態になってしまいます。 (早い時はログイン直後に固まります。) 再起動して、ログイン画面でCTRL+ALT+F1でCUIモードにすると問題なく動作するので、Gnomeデスクトップ環境に何か原因があるのではないかと考えています。 また、フリーズ後、messageログを確認しましたがフリーズしたタイミングではログが出ていないようです。 今まで、2台の自作パソコンに同等の構成でCentOS4.3をインストールしているのですがそれらは問題なく動作しています。(いずれもCPUはP4) 今回はCeleronMという特殊なCPUを使っているのでそれが原因ではないかとも考えています。 問題の自作PCのスペックは以下の通りです。 CPU:CeleronM 350 メモリ:512MB(PC2700DDR1枚) グラフィック:i855GMEオンボードグラフィック HDD:80GB ATA133(7200rpm) 光学ドライブ:CD-ROM 電源容量:250W PCIボード等に増設はありません。 サーバーはCUIで動かせば良いのですが、せっかくならデスクトップでブラウザを使用したいです。 もし、原因や怪しい箇所に心当たりがある方がおられましたら、アドバイスをいただけると非常に助かります。 よろしくお願いいたします。

  • 使用100%を開放したい

    centos4をwebサーバーとして使っています。 FTPでアップロードが出来ない為「df -h」で確認したところ「残り0、使用100%」となっておりました。 しかし、「du -ch /」で確認すると合計2.1Gとなっております。 どこにで容量が食われているのかわからないので、空き容量を作ることが出来ません。 ご教授願います。

  • Centos5.7 Dovecotが止まる

    Dovecotが止まってしまう現象が発生しています。 ログを見ると下記のように出ていました。 I'll sleep now until we're back in present. http://wiki.dovecot.org/TimeMovedBackwards ググって色々と調べるとNTPサーバーが同期した時に起きることがあるとありました。 Centos5.3~5.6まではこのような現象に陥ったことはありませんでした。 どの様な要因でこのような症状がでるのかご存知の方がいましたら 原因と対策をご教授ください。

  • CentOS6.4でデフォルトPostfix

    CentOS6.4を最小構成でインストールしたところ、 デフォルトでPostfixがインストールされ、勝手に起動しているようです。(smtp:25のみ) こちらは原則必要なのでしょうか? また、このサーバをWEBサーバやDBサーバなど、メールサーバ以外の用途で使用する場合、 メール機能は必要となるのでしょうか?

  • VirtualPCにてCentOs5を使用しています。

    VirtualPCにてCentOs5を使用しています。 mono2.6.4を導入しようと考えているのですが、configureの時点でエラーが発生します。 以下参考サイト http://ameblo.jp/ishina/entry-10505426107.html 以下エラー内容 [root@localhost mono-2.6.4]#./configure ・・・ checking for C compiler default output file name... configure: error: in '/root/mono-2.6.4: configure: error: C compiler cannot create executables See 'config.log' for more details. 原因がまったくわかりません。 どこが問題か教えていただけないでしょうか。

  • CentOS Vviewコマンドの終了の仕方

    CentOSを使用しています。 インターネットで viewコマンドでログを見る方法を調べて確認することができたのですが 終了の仕方がわからず困っています。 インターネットで検索したのですが、なかなか見つけることができませんでした。 viのようなものかと思いqとか入力してもうまくいきませんでした。 よろしくお願いします

  • CentOS 4.4でhaldeamonを起動するには

    CentOS 4.4でhaldeamonをが起動しなくなってしまいました システム設定=>サーバ設定=>サービスでhaldeamonを 確認すると状態欄を確認すると"hald is stopped"となりますが 開始ボタンを押下しても"hald is stopped"のまま変化がありません /va/log/messageを確認すると Oct 29 17:27:04 localhost haldaemon: haldaemon shutdown failed Oct 29 17:27:07 localhost haldaemon: haldaemon startup succeeded が開始ボタン押下分くりかえされています。多分起動したあとすぐ終了しているのだと思います

  • iptablesの通信ログについて

    CentOSサーバにて iptablesの運用に携わることになりました。 CentOSインストール後から、 iptablesに関する設定は、通信のaccept処理鹿記述しておりません。 LOG項目に関する設定はしておりません。 この時、CentOSサーバから送信された通信情報のログを確認したいと考えております。 (CentOSからどこのIP宛に 何のデータが送信されたか?(=Output)) CentOSサーバでどのログファイルを確認したら 目的の通信情報を手に入れることができますでしょうか? よろしくお願いします。