【Linux運用】ロードアベレージの現在値の取得

このQ&Aのポイント
  • Linux運用において、ロードアベレージの現在値を取得する方法について質問です。
  • 現在のロードアベレージを取得するためには「uptime | awk '{print $9}' |sed -e "s/,//g"」というコマンドを使用することができます。
  • このコマンドを実行すると、カンマなど不要な部分を削除して数値のみが表示されます。
回答を見る
  • ベストアンサー

【Linux運用】ロードアベレージの現在値の取得

有識者の方々。お世話になります。 現在のロードアベレージを取得したいと思います。 以下のコマンドで確認する他に良い方法はありますでしょうか? カンマなど不要な部分は削除して数値のみ取得したいと考えております。 # uptime | awk '{print $9}' |sed -e "s/,//g" ■実行結果 [ec2-user@ip-172-31-31-141 ~]$ uptime 00:01:44 up 19:14, 1 user, load average: 0.00, 0.00, 0.00 [ec2-user@ip-172-31-31-141 ~]$ uptime | awk '{print $9}' |sed -e "s/,//g" 0.00 よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

cut -d' ' -f3 /proc/loadavg という方法もあります。

QA-Linux
質問者

お礼

ありがとうございました。 とても勉強になります。

関連するQ&A

  • 【Linux運用】 iowait値のみ取得する方法

    Linux有識者の皆様 [ec2-user@ip-172-31-31-141 ~]$ vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 140708 40932 294144 0 0 18 13 16 40 0 1 99 1 0 vmstatでwa(iowait)列の値だけを取得したいと思います。(上記の場合1だけ取得したい。) 次のコマンドで取得できましたが、ほかに良い方法はありますでしょうか。 ■結果 ------------------------------------------------------------------------------ [ec2-user@ip-172-31-31-141 ~]$ vmstat | awk '{print $16}' | grep -v "wa" 1 ------------------------------------------------------------------------------ ご教授のほどよろしくお願い申し上げます。

  • UNIXのuptimeコマンドのload averageの単位は何?

    たぶんunixならば同じだと思いますが、Solaris(2.6)の場合の uptimeコマンドをたたくと、load averageがでてきますが、 その単位はなにか知っていたら教えて下さい。 secとか、msecとか・・。 例) % uptime 10:42pm up 56 days, 5:15, 15 users, load average: 0.00, 0.00, 0.00 ここ --> load average: 0.00, 0.00, 0.00

  • load averageが0.50を超えた時だけメール送信

    LINUXでtopコマンドのロードアベレージが0.50を超えた時に top.logファイルに内容を記述してさらにメールを送る。 0.50を超えない場合には何も残さないというスクリプトを 作りたいのですが、うまくいきません。 ifの書き方などが悪いのでしょうか #!/bin/sh AVE=`top -b -n1 |sed 'y/,/ /' |awk '{if(1>=NR){print $(NF-2)}}'` if [ $AVE > 0.50 ]; then echo ----------------------------------------------------------------------------- >> ./top.log top -b -n1 |awk '{if(5>=NR){print}}' >> ./top.log echo ----------------------------------------------------------------------------- >> ./top.log printf "USER PID %%CPU %%MEM VSZ RSS TTY STAT START TIME COMMAND\n" >> ./top.log ps aux |sort +4r |head -10 >> top.log echo ----------------------------------------------------------------------------- >> ./top.log echo ----------------------------------------------------------------------------- >> ./top.log mail -s load_average root < top.log else echo ok fi 今はとりあえず0.50を超えない時はOKと出力されるように してますが、何もログを残さずメールも送らないように したいのです。どなた様か教えてくださいませ!

  • スクリプト中に日本語を表示させたい。

    現在top監視スクリプト作成中なのですが、内容に日本語を 含めたくとも文字化けしてしまいます。 #!/bin/sh AVE=`uptime | sed 's/[.,]//g' | awk '{print $(NF-2)}'` if [ $AVE -gt 100 ];then echo "`date +%m/%d/%a/;` `uptime`" >> ./top.$$ top -b -n1 |awk '{if((5>=NR)&&(2<=NR)){print}}' >> ./top.$$ echo ----------------------------------------------------------------------------- >> ./top.$$ printf "USER PID %%CPU %%MEM VSZ RSS TTY STAT START TIME COMMAND\n" >> ./top.$$ ps aux |sort +4r |head -10 >> ./top.$$  >> ./top.$$ CPU負荷平均率が$AVEを超えました。 >> ./top.$$ fi 文字コードを指定するnkfを試しても文字化けは変わらず。 どうしたら文字化けせずにログを保存できますでしょうか

  • ロードアベレージが高いのですが、CPUもディスクIOも低く、これはどう

    ロードアベレージが高いのですが、CPUもディスクIOも低く、これはどういったことが原因なんだろうと悩んでいます。 topやsar等の結果は以下の感じです。 VPSサーバーでapache mysql phpが動いていて、mysqlはほとんど使っていなくて、apacheが原因ということはわかっています。 apacheのプロセスがたくさん作られています。PV等からもうスペック不足だなとは思っていて近々サーバーを引っ越すのですが、 これの原因をつきとめてすっきりさせたいところです。http.confをいじれば解決する問題なのでしょうか? 本やブログなどを読んでもロードアベレージの原因はCPUかディスクIOであると書かれていてそう思っていたんですが、この状態だと納得できません。よろしくお願いします。 load average: 10.78, 18.97, 20.37 Cpu(s): 2.9%us, 1.8%sy, 0.0%ni, 95.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1572864k total, 587936k used, 984928k free, 0k buffers 06:20:01 PM CPU %user %nice %system %iowait %steal %idle 06:30:01 PM all  5.53 0.00 3.37 0.01   0.00 91.10 06:40:01 PM all   3.40 0.00 2.12 0.00   0.00 94.48 03:20:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 06:40:01 PM 776820 796044    50.61 0    0   0    0    0.00    0 06:50:01 PM 709144 863720    54.91 0    0   0    0    0.00    0 07:00:01 PM 914668 658196   41.85 0   0    0   0    0.00    0

  • ザウルスのLinuxでSEDのスクリプトファイルを使いたい

    ザウルス(SLC1000)のターミナル(qpe-embeddedkonsole-ja Ver 1.6.0)で、 SED(sed-ja/GNU sed Ver. 3.02)のスクリプトファイルが使えず困っています。 ----- in.txt ----- 12345 abcde ------------------ +++++ s.sed +++++ 1q +++++++++++++++++ 上記ファイル内容で、ターミナル上で bash-2.05$ sed -e "1q" in.txt は問題なく出力されますが、 bash-2.05$ sed -f s.sed in.txt では、 sed: file s.sed line 1: Extra characters after command と出ます。スクリプトファイルでも["]記号が必要かも知れないと思い s.sed を下記のように変えると +++++ s.sed +++++ "1q" +++++++++++++++++ sed: file s.sed line 1: Unknown command: ”" ” と出ます。 初歩的な何か抜けているのだと思いますが抜け出せずに居ます。 宜しくお願いいたします。 以上

  • 日付つきの

    uptimeコマンドで表示される内容の先頭に日付を表示させることはできますでしょうか? date && uptime とすると2行に分かれてしまうので、1行にまとめたいのです。 たとえば↓ 2009/08/01 23:34:49 Sat up 3 days, 3:06, 3 users, load average: 0.00, 0.02, 0.02 このような日付、詳細な時間と曜日を先頭に表示してその後に uptimeの情報を表示させるようなことは可能でしょうか。 printfやら試してもうまくいかず悩んでおります

  • シェルスクリプトで、サーバー監視

    まだまだスクリプト初心者なので、教えていただきたいのですが、 条件分岐させるifがあると思うのですが、 「サーバーのロードアベレージが1から2の時にトップを保存して、  2を超える時はサーバーを再起動させる。1以下の場合はログ保存する。」 というスクリプトを書きたいのです。 #!/bin/sh AVERAGE=` awk '{gsub(/[.]/,""); print $1}' /proc/loadavg` if [ $AVERAGE > 100 && $AVERAGE < 200 ] ;then top -b -n1 >> ./top if [ $AVERAGE -gt 200 ] ;then shutdown -r now end uptime >> ./top.log 上記のままだとerror: unexpected end of fileと エラーが出てしまいます。ifが2つ入ってるので 正しい記述が必要だと思うのですが、 どうしたらよいでしょうか

  • LinuxのOS稼動時間(uptime)を変更する方法を探しております

    お世話になります。 ◆質問 現在、社内試験において、 OSが起動してからの連続稼動時間を、変更する方法を探しております。 通常は、uptimeコマンドを実行すれば、OSが起動してからの起動時間が表示されますが、 この時間を365日起動後、497日起動後にする方法がございますでしょうか? ------------------------------------------------------------------------ 15:19:31 up 3 days, 23:23, 2 users, load average: 0.00, 0.00, 0.00 ------------------------------------------------------------------------ ※なお、実際にその日まで待つことは、試験の日数上できません。 ※環境は下記の通りとなります。 ◆実行環境 マシン: ML115 G5 OS: Red Hat Enterprise Linux ES release 4 (Nahant Update 6) ◆備考 インターネットで、「/proc/uptime」に秒数が 書き込まれて(?)いることはわかりました。 「/proc/uptime」をviで編集をしてみましたが、 エラーとなり、値を書き換えることができませんでした。 ※システムファイルを操作することはよくないと思いますが実行してみました。 --------------------------------------------------------------- 警告: 読込んだ後にファイルに変更がありました!!! 本当に上書きしますか (y/n)?y "/proc/uptime" E667: fsync に失敗しました 警告: 原本ファイルが失われたか変更されました ファイルの保存に成功するまでエディタを終了しないでください! -------------------------------------------------------------- どうか、よろしくお願いいたします。m(_ _)m

  • IPアドレスの置換について

    お世話になっています。 sedコマンドにて既存のIPアドレスの各オクテットの末尾の数字を任意の数字に置換したいのですがいい方法はあるでしょうか? 置換前のIPアドレスは取得できるのですがその後の置換方法がうまくいかずご意見いただけばと思います。 sed -e 's/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/各オクテットの末尾を1にしたい /g' test.log