Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか-MemStat.Net作りました
Search
Tomohisa Takaoka
October 26, 2024
2
190
メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか-MemStat.Net作りました
メモリ使用率取得したいけど、簡単に取得できない - 仕方ない作るか。
1. メモリ使用率が欲しいとき
2. マルチプラットフォームの対応
3. Nugetでのリリース
4. まとめ
Tomohisa Takaoka
October 26, 2024
Tweet
Share
More Decks by Tomohisa Takaoka
See All by Tomohisa Takaoka
Functional Event Sourcing using Sekiban
tomohisa
0
90
DDDを突き詰めていったら、 イベントソーシングに 流れ着いた話
tomohisa
3
350
OSSの認証サービス Keycloak を.NETから使ってみた-Aspireとコンテナで使える簡単IDaaS
tomohisa
2
960
そろそろイベントソーシング・CQRSを使ってみてもいい頃なんじゃない?
tomohisa
6
3.6k
関数型ドメインモデリングを 非関数型のプログラミング言語で やってみた
tomohisa
7
3.7k
Aspire, Sekiban, ResultBoxで作るかんたんWebアプリ開発
tomohisa
2
310
Event Sourcing and Azure Cosmos DB using Sekiban Framework
tomohisa
1
82
自作ライブラリのAspire対応をしてみての感想 Sekiban + Aspire = 簡単イベントソーシング環境構築
tomohisa
2
170
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
390
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
How GitHub (no longer) Works
holman
310
140k
RailsConf 2023
tenderlove
29
900
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Teambox: Starting and Learning
jrom
133
8.8k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Producing Creativity
orderedlist
PRO
341
39k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Embracing the Ebb and Flow
colly
84
4.5k
Transcript
メモリ使⽤率取得したいけど、簡 単に取得できない - 仕⽅ない作る か。 MemStat.Net作りました #dotnetlab
⾃⼰紹介 高丘 知央 ( Tomohisa Takaoka ) 株式会社ジェイテックジャパンCTO イベントソーシング・CQRSフレームワーク Sekiban
メンテナ 鉄道指向プログラミングライブラリ ResultBox 開発 米国カリフォルニア州ロングビーチ在住(ロスの近く) • X : @tomohisa • Github : @tomohisa • Linkedin : tomohisatakaoka 自作キーボード、3Dプリント自作トラックボール製作 London Tech Talk ポッドキャストとブッククラブ出演 #dotnetlab 🆗
株式会社ジェイテックジャパンの紹介 • 創業50年を超えた総合IT企業、株式会社 ジャパンテクニカルソフトウェア (JTS) のグループ企業。 • New York 所在
J-Tech Creations, Inc. と 協業 • B2C / B2B アプリケーションを 開発‧運⽤するソフトウェア開発企業。 • .NET‧Azure 等 Microsoft の 技術スタックを主に使⽤。 #dotnetlab 🆗
概要 メモリ使⽤率取得したいけど、簡単に取得 できない - 仕⽅ない作るか。 1. メモリ使⽤率が欲しいとき 2. マルチプラットフォームの対応 3.
Nugetでのリリース 4. まとめ #dotnetlab 🆗
メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 1.メモリ使⽤率が欲しいとき
#dotnetlab 🆗 Sekiban - イベントソーシング・ CQRSフレームワーク • イベントソーシングは過去のイベントを再生してステートを作成する • 毎回データベース(Cosmos
DB, Dynamo DB or Postgres)にイベントを取りに 行くと遅い • イベントのローカルキャッシュ機能を作りたい • 無制限に保続したくない • → メモリの残量によってコントロールしたい • メモリ残量をマルチプラットフォームで知る機能が...ない • 仕方なく作るか。 メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 1.メモリ使⽤率が欲しいとき
メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応
#dotnetlab 🆗 マルチプラットフォーム対応 • Windows(ローカル実行,Azure) Linux (Azure) Mac (ローカル実行)で対応した い
• Windows ◦ Microsoft.VisualBasic → なぜか使用できなくなっている ◦ 既存のGithub NickStrupat / ComputerInfo → Azure App Serviceで使え ない ◦ GlobalMemoryStatusEx を使う実装を発見 kernel32.dll メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応
#dotnetlab 🆗 マルチプラットフォーム対応 • Mac ◦ vm_stat コマンドをプロセスで呼び出しパースする メモリ使⽤率取得したいけど、簡単に取得できない -
仕⽅ない作るか。 2.マルチプラットフォームの対応
#dotnetlab 🆗 マルチプラットフォーム対応 • Mac ◦ free コマンドをプロセスで呼び出しパースする ◦ この辺はChatGPT駆動でなんとかなった
メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応
メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 3.Nugetでのリリース
#dotnetlab 🆗 とりあえず Sekiban内部のProjectとしていたが ... • LTするならみんなが簡単に使えるといいかも ◦ 慌ててnuget リリース
(午後3:30ごろ) https://www.nuget.org/packages/MemStat.Net • Azure App Serviceで使えるのを確認 • Azure Function • AWS メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 3.Nugetでのリリース
メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 4.まとめ
まとめ • メモリ使⽤量は結構しれると嬉しい気がする • メモリ使⽤量を知らずして解放の必要性を知る⽅ 法があったら知りたい ◦ GCなど? • Nugetリリース慣れしたので、どんどんリリース
• よかったらご使⽤ください #dotnetlab 🆗
質問、感想などありましたらXなどで連絡ください @tomohisa Sekibanはこちら https://github.com/J-Tech-Japan/Sekiban ResultBoxはこちら https://github.com/J-Tech-Japan/ResultBoxes MemStat.Netはこちら https://www.nuget.org/packages/MemStat.Net J-Tech Japan
Tech Blog https://zenn.dev/p/jtechjapan_pub おわり #dotnetlab 🆗