Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか-MemStat.Net作りました

Tomohisa Takaoka
October 26, 2024
190

メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか-MemStat.Net作りました

メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか。
1. メモリ使用率が欲しいとき
2. マルチプラットフォームの対応
3. Nugetでのリリース
4. まとめ

Tomohisa Takaoka

October 26, 2024
Tweet

More Decks by Tomohisa Takaoka

Transcript

  1. ⾃⼰紹介 高丘 知央 ( Tomohisa Takaoka ) 株式会社ジェイテックジャパンCTO イベントソーシング・CQRSフレームワーク Sekiban

    メンテナ 鉄道指向プログラミングライブラリ ResultBox 開発 米国カリフォルニア州ロングビーチ在住(ロスの近く) • X : @tomohisa • Github : @tomohisa • Linkedin : tomohisatakaoka 自作キーボード、3Dプリント自作トラックボール製作 London Tech Talk ポッドキャストとブッククラブ出演 #dotnetlab 🆗
  2. 株式会社ジェイテックジャパンの紹介 • 創業50年を超えた総合IT企業、株式会社 ジャパンテクニカルソフトウェア (JTS) のグループ企業。 • New York 所在

    J-Tech Creations, Inc. と 協業 • B2C / B2B アプリケーションを 開発‧運⽤するソフトウェア開発企業。 • .NET‧Azure 等 Microsoft の 技術スタックを主に使⽤。 #dotnetlab 🆗
  3. #dotnetlab 🆗 Sekiban - イベントソーシング・ CQRSフレームワーク • イベントソーシングは過去のイベントを再生してステートを作成する • 毎回データベース(Cosmos

    DB, Dynamo DB or Postgres)にイベントを取りに 行くと遅い • イベントのローカルキャッシュ機能を作りたい • 無制限に保続したくない • → メモリの残量によってコントロールしたい • メモリ残量をマルチプラットフォームで知る機能が...ない • 仕方なく作るか。 メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 1.メモリ使⽤率が欲しいとき
  4. #dotnetlab 🆗 マルチプラットフォーム対応 • Windows(ローカル実行,Azure) Linux (Azure) Mac (ローカル実行)で対応した い

    • Windows ◦ Microsoft.VisualBasic → なぜか使用できなくなっている ◦ 既存のGithub NickStrupat / ComputerInfo → Azure App Serviceで使え ない ◦ GlobalMemoryStatusEx を使う実装を発見 kernel32.dll メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応
  5. #dotnetlab 🆗 マルチプラットフォーム対応 • Mac ◦ free コマンドをプロセスで呼び出しパースする ◦ この辺はChatGPT駆動でなんとかなった

    メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応
  6. #dotnetlab 🆗 とりあえず Sekiban内部のProjectとしていたが ... • LTするならみんなが簡単に使えるといいかも ◦ 慌ててnuget リリース

    (午後3:30ごろ) https://www.nuget.org/packages/MemStat.Net • Azure App Serviceで使えるのを確認 • Azure Function 󰤅 • AWS 󰤅 メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 3.Nugetでのリリース