• 締切済み

ディスクI/Oの帯域幅の求め方

LinuxかBSDでディスクI/Oの帯域幅を求めることは可能でしょうか? もし可能でしたら方法を教えてください。よろしくお願いします。 また、SNMPでそれらの値を取得する方法についても、ご存知でしたらそのMIB上方を教えてください。

みんなの回答

回答No.2

ディスクI/Oの帯域幅(限界値)を求める方法については、参考URLの「HDDベンチマーク手順」が参考になると思います。 なお、ディスクI/Oと言っても、read/writeやシーケンシャルアクセス/ランダムアクセスの各パターンで限界値が異なってきますので、ご注意下さい。

参考URL:
http://plaza18.mbn.or.jp/~moriban/linux/HardDiskPerformance.html
  • pakuti
  • ベストアンサー率50% (317/631)
回答No.1

Linuxであれば /proc/diskstats で5分間の平均値を知る事が可能です。 diskのI/O系ならば、sarコマンドやvmstatコマンドでも取得可能です。 SNMPでは、1.3.6.1.4.1.2021.13.15.1.1. でDisk関連の情報を取得できます。

nai_ta_pe_
質問者

補足

回答ありがとうございます。 それらのコマンドも一通り探してみました。 多くの情報(現在のI/O速度や使用率やI/OのCPU使用率変化分など)が取得できるのですが、私が必要なものは見当たりませんでした。 知りたいのは、I/O帯域幅の使用率が知りたいです。 せめてI/Oの速度の限界値が分かれば、 使用率=[現在のI/O速度]/[限界値] の式でI/O使用率を求められるかなー?、と考えております。 何か知識がありましたらご教授お願いします。

関連するQ&A

  • UNIX/Linuxで「プロセスごとの」ディスクの使用状況(ディスクI/Oの状況)を取得する方法

    お世話になっております。 UNIX/Linuxで「プロセスごとの」ディスクの使用状況(ディスクI/Oの状況)を取得する方法を探しています。 ディスクの使用状況を取得するコマンドにはiostatコマンドやsarコマンドなどが ありますが、これはシステム全体のディスク使用状況しか取得できず プロセスごとのディスク使用状況は取得できません…。 具体的な状況としては以下です。 プロセス1~5の、5つのプロセスから成るソフトがあります。 ソフトを起動すると、プロセス1~5が起動し それぞれのプロセスがディスクにアクセスします。 このとき特定のプロセスの(例えばプロセス2の)ディスクの使用状況(I/O回数)を取得したいのです。 これを実現できるコマンドや方法を知っている方いらっしゃいましたら、ご教示ください。 以上です。よろしくお願い致します。

  • LinuxでMRTGとsnmpwakerの使い方に

    LinuxでMRTGとsnmpwakerの使い方について教えて下さい。 http://www.atmarkit.co.jp/flinux/rensai/root08/root08c.html ↑を参照してMRTGを構築しました。 ですがhttpdのプロセスの数が取得できません。 snmpwalkerコマンドをたたくと以下のようになり11で値はとれていそうです。 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5.1 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1 UCD-SNMP-MIB::prIndex.1 = INTEGER: 1 UCD-SNMP-MIB::prNames.1 = STRING: httpd UCD-SNMP-MIB::prMin.1 = INTEGER: 1 UCD-SNMP-MIB::prMax.1 = INTEGER: 20 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: 0 UCD-SNMP-MIB::prErrMessage.1 = STRING: UCD-SNMP-MIB::prErrFix.1 = INTEGER: 0 UCD-SNMP-MIB::prErrFixCmd.1 = STRING: [root@localhost ~]# mrtg.confは Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1:public@192.168.1.50: のようにかいています。 どこか間違っていますでしょうか? また [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5.1 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 で同じ値がかえっていますが、Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1と指定しなければいけないのでしょうか?

  • シェーピング時のMIB値について

    WANを経由して接続するルータにて50Mのシェーピングを設定してますが、ルータのMIBをSNMPソフトでGetすると50M以上のTrafficがカウントされます。MIB(IfIn/OutOctets)はシェーピング前の値が取得されるのでしょうか?どなたか詳しい方、教えてください。 ちなみに、LANは100Mbps(Full)の設定でWANの帯域も100Mbpsです

  • SNMPでCBWFQの状態を取得したいです

    こんばんは。 どうしてもわからない事があり、御存じの方がいらっしゃればご教授頂きたく。 現在、WANルータにおいて、CBWFQを用いて制限を掛けています。 制限対象はFTP通信で、最低保証帯域などをbandwidthで設定しています。 この通信が日頃どのくらい使われているのか、そういったことを把握したいと 考えています。 ルータのCPUや各インターフェイスの利用状況などはSNMPで監視しておりますが、 このCBWFQの設定単位でSNMPの情報が取れたら、また、グラフ化出来たらよいなと 思っています。 きっとMIB2ではなくて、ベンダMIBになるんだろうなと推測していますが、 一体どのMIBのどの値を拾えばよいのか皆目見当が付きません。 どなたかお分かりになりますでしょうか。 どうぞよろしくお願いします。

  • LinuxサーバからSNMPレスポンスが返らない

    LinuxサーバにSNMPの設定を行ったところ、自サーバからは問題なくMIB情報を取得できましたが、別マシンのSNMPマネージャーよりGETをしてもレスポンスが返って来ません。 自サーバ:snmpwalk -c public localhost MIB取得OK LinuxサーバでパケットをキャプチャするとGETを受け取った後に、ICMPでDestination Unreachableが発生しています。(宛先は別マシン) なお、snmpd.logには特にログが吐き出されていません。 マシン構成はLinuxサーバがNICを2枚挿しで、それぞれ[192.168.0.100]と[192.168.1.100]を設定し、同じHUBに接続し、別マシンが同じHUBで[192.168.0.253]のアドレスを設定しています。 もちろん、Linuxサーバから別マシンへはpingは問題なく通ります。 レスポンスの返らない理由を教えてください。 また、対処方法が分かれば合わせて教えてください。

  • BSとUHFの伝送帯域幅から情報レートの算出

    BSとUHFの伝送帯域幅から情報レートの算出 BSデジタルの伝送帯域幅34.5MHzと、地上デジタルのUHF伝送帯域幅5.7MHzから情報レートを算出する方法が分かりません。 BSデジタルは8PSKで3bit、地上デジタルのUHFは64QAMで6bitだという事までは分かるのですが、具体的な計算式をご存知の方がおられたら教えて頂けると幸いです。

  • Solaris2.6 ディスクI/O調査

    Solaris2.6 を使用しています。 早急に(ツール導入の猶予なし)ディスクI/Oの統計情報を出力しなければいけないことになってしまいました。 (アプリの応答時間との関係調査等の為、継続的に行う) sar、iostat、cronなどを組み合わせて実現している例を小耳にはさんだことがありますが、具体的な実現方法などは今ある文献では詳しく解説してありません。 1日のうち、どの時間がI/Oが多いか、また、データが増えるに従ってレスポンスがどのように変化するか、等が調査項目になる予定です。 参考URL、文献のご紹介だけでもかまいませんので、なにとぞよろしくお願いします。 (VERITAS製品に詳しい方 VOLUME MANAGER のパフォーマンス監視機能についての情報もご存知であればお願いします)

  • WindosのDisk I/Oのデータをグラフ化したい

    Windowsから5分間隔でDisk I/Oに関する情報をデータを採取し、 グラフ化を行いたいと思っております。 Disk I/O情報をグラフ化するにあたって、そこに指定するデータ値の値がわかりません。 (CPUであれば、%単位でグラフ化、メモリであればM単位でグラフ化など) Windows標準であるパフォーマンスログから以下のデータを設定しています。 PhysicalDisk\DiskReadBytes/sec PhysicalDisk\DiskWriteBytes/sec 上記2項目より採取したデータをグラフ化できますでしょうか? ちなみに採取して取ったデータは以下の様なデータ値で取れました。 ===================== PhysicalDisk\DiskReadBytes/sec 0:00 15173.15951 0:05 882,9013072 0:10 0 0:15 15205.01857 0:20 851.044008 PhysicalDisk\DiskWriteBytes/sec 0:00 21380.20598 0:05 27048.52349 0:10 19770.84513 0:15 23598.59576 0:20 21654.97407 ===================== どうか、ご指摘お願いします。

  • アクセスリストのマッチを収集するMIB

    Ciscoルータでアクセスリストを設定した後、アクセスリストの条件に適合するパケットが存在すれば(●● matches)と表示されるかと思います。 この値をSNMPのMIBで定期収集する方法を探しています。 ずばりこの値を収集できるMIBのOIDやMIB名が判ればベストですが、代替の方法があれば、ご教示いただきたく思います。 使っているルータはCisco1812JのIOS12.3で、SNMP収集にはHPのNNM/OVOを使用できます。

  • windowsサーバーのトラフィック監視

    snmpを使って、サーバーのトラフィック監視を考えてます。 ifhcinoctets の値を取得したいのですが、linux OS は取得できましたが、windows OS は取得出来ずに手こずってます os 標準のsnmpエージェントは64bit に対応していないようなので、 net-snmp をインストールしてみましたが駄目でした。 snmpエージェントに、 何のソフトを使えばよいかご教授 いただけませんでしょうか