UNIXシステムでは、/ procからデータを読み込んでシステムを動的に監視することができます。私は、アプリケーションにこの種の監視を実装することを望んでおり、動的に "現在の状態"をファイルに保存しています。しかし、私はIOが自分のプログラムを遅らせることは望ましくないので、ファイルを仮想化する、つまりディスクに格納せずに実際にメモリに格納するのが最善の方法です。 dointの方法はありますか?ヒントありがとう!動的にプログラムの状態を監視する
答えて
なぜ共有メモリとセマフォを使用しないのですか。出発点として 'man shmget'を行います。
お試しFUSE仮想ファイルシステムの作成に特に役立ちます。すでに多くのファイルシステムがあります。
あなたの正確な要件はわからないので推測できますが、Linuxの下にあるすべてのファイルは/ dev/shmに置かれます。しかし、それはI/Oを実行していないわけではなく、I/Oが高速であるということだけです。ファイル記述子などでI/Oを行いたくない場合は、他の誰かが共有メモリセグメントを提案して使用するようにしてください。しかし、これは誰もが読むのが少し難しくなります。他のプログラムを開いて読み込み、プログラム内のいくつかの関数を呼び出す(これはカーネル空間で/ procによって行われます)ことはできません。また、ファイルシステムのソケットやFIFOは、あなたのニーズにもっと適したものです(例えば、選択/(e)ポーリングルーチンがある場合など)。あなたがシステムを完全に制御できたら、tmpfsも役に立つかもしれません。
また、アプリケーションをソケットサーバーにすることもできます。このようにすると、要求された場合にのみ状態情報で応答することができます(現在の状態でメモリ領域を更新し続ける必要もなくなります)。また、リモートマシンからプログラムを制御することもできます。ステータス自体が膨大な量のデータでない場合は、これが最も柔軟なソリューションだと私は思っています。
アプリケーションがHTTP要求に応答するようにしても(すべてのhttpプロトコルの可能性をサポートしているわけではありません)、クライアントに書き込むことを避けることもできます。とにかくそれを書くことは、おそらくそれを行うことができるライブラリとプログラマーを見つける方が簡単でしょう。
ポート80を聞いてみると、インターネット経由でプログラムをチェックしても、ファイアウォールを無駄にすることはありません:-)(まあ...プログラム自体がインターネットから届いていることを前提にしていますが、システム管理者に求められる共通の事柄)。
- 1. js、オブジェクトの状態監視
- 2. Zabbixエージェントの状態監視
- 3. Microsoftグラフライブ状態監視
- 4. スレッドの状態を監視する標準的な方法
- 5. websphereでのアプリケーション状態の監視
- 6. 表示目的でユーザーのオンラインオフライン状態を監視するためのパターン
- 7. マイクロサービス内のシステム状態を監視するためのアーキテクチャ
- 8. vue.jsの状態/ UIの変化を監視する方法
- 9. Javaでスレッドの状態を監視する方法は?
- 10. iOSがバックグラウンド状態でコール状態を監視しています
- 11. Selenium - エラー状態を監視し、「ハッピーパス」テストコードを実行する
- 12. Apache Stormハートビートを監視する/状態::許可しない
- 13. フォルダーの状態に応じたフォルダーの監視とイベントトリガー
- 14. Silverlight:可視状態と不可視状態の間に視覚的な遷移を追加します。
- 15. ファイルのハッシュ中に状態を監視する方法はありますか?
- 16. Androidでプログラム的にバッテリーレベルを監視する - BroadcastReceiver v Handler
- 17. vuexの状態変化を同期的に監視するにはどうすればよいですか?
- 18. デザイン時にコントロールの視覚的な状態を設定する
- 19. API Manager 1.10 - バックエンドの状態を監視する方法はありますか?
- 20. サーバーの状態を監視する良い方法は何ですか?
- 21. 視覚状態がアクティブなときにオブジェクトを動的にスケーリングする
- 22. icinga2を使用してapache2の状態を監視する方法
- 23. 監視プログラムの印刷
- 24. iOS Firebase Swift、オンライン状態を監視するためにOnDisconnectを使用すると動作しない
- 25. 動的(スケールアップ/ダウン)カフカクラスタの監視
- 26. 角度UIルーター:自動的に親状態の子状態にリダイレクトする
- 27. ボタンのクリックによる視覚的な状態の変化
- 28. 動的反応状態
- 29. バネバッチジョブの進行状況を監視
- 30. UIスレッドで監視可能な状態になっています
共有メモリとセマフォは、実際にパフォーマンスが低下します。 –
私は単純な監視アプリケーションが毎秒共有メモリをチェックできると思ったでしょう。アプリケーションは、共有メモリに刻々と増加していく数のスレッドを持つことができます。監視アプリケーションは、それが確実に増加していることを確認するだけです。 –