Welcome To 木影**凌翔 的博|

木影**凌翔

园龄:2年11个月粉丝:1关注:0

.Net的性能调优

.Net的性能调优

一、.Net Core中的内存泄露

1.1什么是内存溢出和内存泄露

什么叫内存泄露(memory leak)

是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存并且分配给其他进程使用。通常少次数的内存无法及时回收并不会到程序造成什么影响,但是如果在内存本身就比较少获取多次导致内存无法正常回收时,就会导致内存不够用,最终导致内存溢出。

什么叫内存溢出 out of memory

指程序申请内存时,没有足够的内存供申请者使用,导致数据无法正常存储到内存中。也就是说给你个int类型的存储数据大小的空间,但是却存储一个long类型的数据,这样就会导致内存溢出。

2.2内存溢出和内存泄露的关系以及区别

1.关系:内存泄露最终会导致内存溢出,由于系统中的内存是有限的,如果过度占用资源而不及时释放,最后会导致内存不足,从而无法给所需要存储的数据提供足够的内存,从而导致内存溢出。导致内存溢出也可能是由于在给数据分配大小时没有根据实际要求分配,最后导致分配的内存无法满足数据的需求,从而导致内存溢出。

2.区别:内存泄露是由于GC无法及时或者无法识别可以回收的数据进行及时的回收,导致内存的浪费;内存溢出是由于数据所需要的内存无法得到满足,导致数据无法正常存储到内存中。内存泄露的多次表现就是会导致内存溢出。

二、调优工具

安装dotnet-counter和dotnet-dump工具。

dotnet tool install --global dotnet-counters
dotnet tool install --global dotnet-dump
(在线上的时候尽量不用,dump的时候会导致应用程序卡住现象)

三、使用情况

检查托管内存的使用情况

在开始收集诊断数据以帮助分析本案例的根本原因时,需要确保实际看到的是内存泄漏(内存增加)。可以使用 dotnet-counters 工具进行确认。

打开控制台窗口并导航到下载并解压缩示例调试目标的目录。 运行目标:

dotnet run

在单独的控制台中,找到处理 ID:

dotnet-counters ps

输出应如下所示:

image-20230815195658204

现使用 dotnet-counters 工具检查托管内存的使用情况。--refresh-interval 指定两次刷新之间的秒数

dotnet-counters monitor --refresh-interval 1 -p 22728
22728代指前面所找到的该程序的处理 ID

实时输出应如下所示

image-20230815195952704

本文作者:木影**凌翔

本文链接:https://www.cnblogs.com/MuyingBlog/p/17632386.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   木影**凌翔  阅读(37)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 就让这大雨全都落下 (Live版) 汪苏泷,容祖儿
  2. 2 Letting Go (Live版) 吉克隽逸,汪苏泷
Letting Go (Live版) - 吉克隽逸,汪苏泷
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

原唱 : 蔡健雅

词曲 : 蔡健雅

编曲 : GavinRiFF

制作人 : 汪苏泷/金若晨

和声编写 : 汪苏泷/金若晨/徐杰/姜糖Shirley

和声 : 徐杰/姜糖Shirley

音乐总监 : 彭程@金牛studio

音响总监 : 何飚

乐队队长&键盘1:铃铛@牛班NEWBAND

键盘2:叶霖@牛班NEWBAND

吉他1:黄仲贤@牛班NEWBAND

吉他2:倪伟恩@牛班NEWBAND

贝斯:宣一亨@牛班NEWBAND

鼓:Chris Trzcinski@牛班NEWBAND

和音:张恋歌 鱼椒盐 孟呈真 叶俊

和音编写:张恋歌

PGM:章谋杰

音乐混音:林梦洋

Letting go

我终于舍得为你放开手

因为爱你爱到我心痛

但你却不懂

这是一封离别信

写下我该离开的原因

我在你生命中扮演的角色太模糊了

对我曾忽冷忽热

我到底是情人还是朋友

爱你是否不该太认真

That’s why

I'm letting go

我终于舍得为你放开手

因为爱你爱到我心痛

但你却不懂

Letting go

你对一切都软弱与怠惰

让人怀疑你是否爱过我 真的爱过我

Letting go

Letting go

Letting go

你是呼吸的空气

脱离不了的地心引力

你在我生命中 曾经是我存在的原因

也许就像他们说

爱情只会让人变愚蠢

自作多情 爱得太天真

That’s why

I’m letting go

我终于舍得为你放开手

因为爱你爱到我心痛

但你却不懂

Letting go

你对一切都软弱与怠惰

让人怀疑你是否爱过我 真的爱过我

为你再也找不到借口

That’s when we should let it go

That’s when we should let it go

在夜深人静里想着

心不安 却越沸腾

我无助 我无助 好想哭 好想哭

我找不到退路

在夜深人静里写着

心慢慢 就越变冷(心不安 却越沸腾)

我不恨 我不恨 也不哭 也不哭

我的眼泪 早已哭干了

Coz I’m letting go

我终于舍得为你放开手

因为爱你爱到我心痛

但你却不懂

Letting go

你对一切都软弱与怠惰

让人怀疑你是否爱过我 真的爱过我

Letting go

你对一切都软弱与怠惰

让人怀疑你是否爱过我

That’s when we should let it go

That’s when we should let it go

That’s when we should let it go

That’s when we should let it go