社区
C#
帖子详情
内存溢出的问题
sidney_he
2008-11-19 05:09:38
C# form窗体里加个定时器 执行一句 “time = DateTime.Now.ToLongTimeString();”(time为成员属性)
随着运行 windows任务管理器里的内存占用量一直上升
怎么才能控制内存占用量呢?
...全文
151
18
打赏
收藏
内存溢出的问题
C# form窗体里加个定时器 执行一句 “time = DateTime.Now.ToLongTimeString();”(time为成员属性) 随着运行 windows任务管理器里的内存占用量一直上升 怎么才能控制内存占用量呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
易企加_天马行空
2008-11-21
打赏
举报
回复
如果单纯是这样,不可能会出现内存泄漏的问题。timer很多人在用,没有人说它会内存泄漏,一个对变量赋值也是最基本的,Now的ToLongTimeString是不可能有内存泄漏的,肯定是与之相关的其他地方导致的,
把怎么启用timer,timer运行的代码都贴一下呗,哪怕把你那个form的代码全贴出来都行啊,断章取义的估计帮不上你了。呵呵
sidney_he
2008-11-21
打赏
举报
回复
tmxk2002 :
你给的代码太少,不要你想着认为这里就给这里。如果你开了多线程,很有可能导致内存泄漏问题。
特别是把线程压到系统线程池里的操作。
帖子内已经举例说明了
C# form窗体里加个定时器 执行一句 “time = DateTime.Now.ToLongTimeString();”(time为成员属性)
随着运行 windows任务管理器里的内存占用量一直上升
怎么才能控制内存占用量呢?
先把这个解决了吧
shanying_0
2008-11-20
打赏
举报
回复
你把线成也关掉。看看内存还张的快么?最好观察几分钟。看看内存有回落么。因为gc要回收内存。
你要确定问题出在那一块在找解决的方法!
sidney_he
2008-11-20
打赏
举报
回复
我自己分析的lastState和currenState这两个变量始终在赋值 而且c#里 对于string类型 也是引用
每次 = 操作 就是new了一个string 但是老的string 没有释放
这个是我自己的看法,还请高手多多指教
LorenLiu
2008-11-20
打赏
举报
回复
如果其它地方都没问题的话,只能解释为每次 DateTime.Now.ToLongTimeString();调用时都生成了一个String对象,不同值的String对象要占用不同的内存空间。所以内存就会一直往上涨
但是我自己不大认为是这个原因,应该还是别的地方出了什么问题
sidney_he
2008-11-20
打赏
举报
回复
State_Change(); 被我注释掉了 还是同样的情况
不是那的问题
易企加_天马行空
2008-11-20
打赏
举报
回复
State_Change里干了什么?
然后你这些变量会每次执行完后释放掉不?
sidney_he
2008-11-20
打赏
举报
回复
就这点东西 没有什么隐藏的 只是没有前面那个例子容易说明 放在线程里执行的 中间thread.sleep(50);
currenState = GetState(ID);
if (currenState != lastState)
{
State_Change();
}
lastState = currenState;
//简单说明一下就是监听一个状态改变
易企加_天马行空
2008-11-20
打赏
举报
回复
一个什么状态信息能导致内存暴涨呢?难道是维护客户的状态信息?然后客户的量已经达到内存都爆掉了?
贴你的代码把,肯定是你某个地方有逻辑错误。
怕别人知道你的代码实现吗?如果你到代码非常好有价值,也不会出现这么严重的错误了。呵呵,这个论坛上技术高手很多,就不要藏着你那点实现了。
sidney_he
2008-11-20
打赏
举报
回复
lorenliu:
这个内存的占用量会很大吗?我假设你的那句代码是在timer的tick时执行,自己做了个例子,也就大概10秒钟左右上涨几K而已啊
这个只是一个线程 而且是个服务程序 要求长时间启动的
-------------------------------------------------------------------------------------------
tmxk2002:
贴你的代码,估计又是作死的往静态变量里塞东西,然后不去释放。
再大的内存都会爆掉。
是个状态信息 始终需要更新 这个变量下次使用时还要用 怎么释放呢
--------------------------------------------------------------------------------------------
sckoo:
内存溢出 只有个原因 就是间隔时间太短 重复做一件事
最好不要在timer事件里面不断实例化对象
timer事件里无休止执行的时候 间隔不要太短
我本来是在一个线程里做的 用的是Thread.sleep 做的间隔 但是本身要求实时性强 间隔短
易企加_天马行空
2008-11-20
打赏
举报
回复
你给的代码太少,不要你想着认为这里就给这里。如果你开了多线程,很有可能导致内存泄漏问题。
特别是把线程压到系统线程池里的操作。
niitnanfeng
2008-11-20
打赏
举报
回复
哈哈,不会是中招了吧。
net5i
2008-11-19
打赏
举报
回复
应该不是这句的问题
James_gaojun
2008-11-19
打赏
举报
回复
对的,看了你的代码才知道原因的
WuZongBo
2008-11-19
打赏
举报
回复
内存溢出 只有个原因 就是间隔时间太短 重复做一件事
最好不要在timer事件里面不断实例化对象
timer事件里无休止执行的时候 间隔不要太短
cheng_er
2008-11-19
打赏
举报
回复
就是,看代码吧
易企加_天马行空
2008-11-19
打赏
举报
回复
贴你的代码,估计又是作死的往静态变量里塞东西,然后不去释放。
再大的内存都会爆掉。
LorenLiu
2008-11-19
打赏
举报
回复
这个内存的占用量会很大吗?我假设你的那句代码是在timer的tick时执行,自己做了个例子,也就大概10秒钟左右上涨几K而已啊
内存溢出
问题
排查操作
内存溢出
问题
排查 1、
内存溢出
介绍
内存溢出
(OOM)指的就是在应用系统中存在无法回收的内存或者使用的内存过多,最后是的程序运行要用到的内存大于能提供的最大内存,有时候需要重启软件甚至重启电脑才可以释放一部分的内存让程序能够正常运行 通常情况下是程序的代码陷入了死循环或者是程序中产生了大量的大对象没有进行及时的回收导致在多次GC后内存资源依然紧张,一般情况下集中在char[],String,HashMap,ConcurrentHashMap这些之中,可能是频繁的使用static表示的字段,或者对String
内存溢出
问题
定位
JVM
内存溢出
问题
定位 前言:
内存溢出
是程序运行中很常见的一个
问题
,导致这个
问题
发生的可能性也有很多,如内存分配不足或者内存泄漏等,如何定位到
问题
所在是非常重要的,至此记录一下关于定位
内存溢出
问题
的方法与思路。(在实验过程出现了一个关于maven版本冲突的
问题
:解决链接) 主要工具:jmap、mat工具 步骤: 先写出两个demo代码:一个不断创建对象导致堆
内存溢出
,一个不断创建类导致元空间内存...
Java
内存溢出
问题
深入探究及其解决策略
在我们的示例中,解决这个
问题
的方法是及时释放不再使用的对象。:如果
内存溢出
是由于过多的并发导致的,那么我们可能需要优化线程池配置,或者限制线程的数量。总的来说,解决
内存溢出
问题
需要我们从多个维度出发,包括优化代码,合理配置JVM参数,使用适当的工具进行诊断和调试,以及理解并发对内存的影响。这时,我们可以使用内存分析工具,如MAT,VisualVM等,这些工具可以帮助我们找到内存使用的热点,从而定位到可能的内存泄漏源头。如果
内存溢出
是由于大量的线程并发导致的,可能需要优化线程池的配置,或者限制线程的数量。
JVM
内存溢出
问题
排查
JVM虚拟机有自己的垃圾回收机制,一般情况下无需担心
内存溢出
的
问题
。但不是绝对的无需担心。 最近遇到一个服务器
内存溢出
问题
,起因是使用了一个永不会关闭的线程,去做PDF上传下载,程序能正常运行一周,然后
内存溢出
。每日增量增加80多MB内存,并不会被GC回收。
内存溢出
一般可能存在的情况: &nb
Android开发中
内存溢出
问题
怎么排查、解决和优化。
在 Android 开发中,
内存溢出
(Out of Memory,简称 OOM)是指应用程序在运行过程中,由于申请的内存空间超过了系统所能提供的最大内存限制,导致程序崩溃的情况。当出现
内存溢出
时,应用通常会突然崩溃,并在日志中显示类似 “java.lang.OutOfMemoryError” 的错误信息。通过以上方法,可以有效地排查、解决和优化 Android 开发中的
内存溢出
问题
,提高应用的稳定性和性能。
C#
111,130
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章