【#dotnet】IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すと派手にメモリーリークする件
関連記事
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
NetFramework4.8時代のアプリを.Net5に載せ替え(試作じゃげ)
ソケット通信サーバ化しているサービスアプリですわん(クライアント側はIoTセンサ群)
移植終わって
(けっこうWindowsベッタリな記述しておった.べったり部の分離がめんどくせーじゃったが)
試走.あっさり動いた(sjisな文字コード起因で2,3度Exceptionしたけど汗)
んじゃ,IoTセンサをソケット通信で繋いでみるかねぇ~
データも上がってくる,まぁ,問題無しじゃな....
ん?
なんじゃ,この派手な使用メモリーの増加わわわっ!
これは人類滅亡級にヤバい!!
Net4.8時代には出てなかったぞ,これ(出てれば10秒で気がつくレベル)
なんか,うち実装のシステム側でメモリ解放orリソース解放が漏れてるかねぇ?
メモリ使用のスナップショットを取ってみたが,レポート内容はメモリ量に大きな変化はなし
っちゅうか,ガベージコレクタGCが走りまくっているのに,グラフは一本調子で上がりまくり
GCが効いてないってことは
マネージメモリじゃなくて
アンマネージ系が解放漏れしてるか?
こやつにアンマネージな実装は一切無いんで,なら,dotNet5側の問題の香り...モルモルモル
ソースを追っかけたら,TCPIPソケットのコネクション死活監視部がおかしいのが判明
(これ10ミリ秒おきに呼ばれる...呼び出し数がちと多すぎな気も微汗)
protected bool isClientConnected(TcpClient ClientSocket) { int cnt = 0; IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); //↓この行がおかしい TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections(); foreach (TcpConnectionInformation c in tcpConnections) { TcpState stateOfConnection = c.State; if (c.LocalEndPoint.Equals(ClientSocket.Client.LocalEndPoint) && c.RemoteEndPoint.Equals(ClientSocket.Client.RemoteEndPoint)) { if (stateOfConnection == TcpState.Established) { cnt++; } else { } } } tcpConnections = null; ipProperties = null; return (cnt > 0); }IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すたんびに,メモリが増えていくぞー
ぐぐってみたら...
IPGlobalProperties.GetActiveTcpConnections()を使うとメモリが増える@MSDN
フレームワークの下層で
メモリの解放ロジックがバグっているって書いてある...ドロドロドロ
unityとのクロス運用のため実装の変更やったらバグったとかなんとか?
こりゃ,更新版がリリースされるまで
IPGlobalProperties.GetActiveTcpConnections()メソッドは使用禁止じゃな(爆
そのうち,更新版が出てくるやろ,大丈夫やろっ!?
dotNet5はかなり良さげじゃげ
細かい不具合(↑のはデカイ不具合じゃけど)はあるけど,まぁ,使えるわこりゃ
dotNet5時代に入っているし,Windows11やし
本格的にdotNet5を使わんといかんはず
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)