标签归档:.net

windbg调试多线程异常

最近在大量把单线程功能改写成多线程,因为作死、弱智等原因,经常写出大量bug,其中调试遇到各种困难,在这里介绍一例未知原因崩溃的排错过程。

如图,在事件管理器中发现程序死于UnhandledException,且未记录抛出异常的代码行号。在毫无头绪的情况下只能在此祭出调试神器windbg。[……]

继续阅读

以工作日计算功能为例对各框架性能进行测试

代码项目地址:WorkDayProject

事起缘由

因为好奇,(其实是因为闲),顺带看了 Benchmark 天梯,于是就写了一些代码来测试一下,以工作的项目中最简单的一个工作日计算功能为例实践了一些框架。

先解释一下什么是工作日?在这里的工作日不是指一般职员周一-周五上班的工作[……]

继续阅读

Windows上CpuGroup与.net进程与垃圾回收

起因是运维强烈认为偶发 CPU 使用率100%是一个不好的现象,我查了告诉他们原因是多线程并发垃圾回收导致 CPU 使用率高。他们要我解决这个问题,我只能想办法解决垃圾回收使用的 CPU 核数。

参考 .net 垃圾回收GCCpuGroup 配置

大致能得到如下配置,能满足运维的降[……]

继续阅读

偷懒的垃圾回收

最近应需求写了一个oracle到mysql的数据导入工具,本来想随便写写,直接把数据一次读到内存然后再写。后来发现性能略差,就试图做点性能优化,使用IDataReader,一边读一边写,然而mysql写速度根本跟不上oracle读速度,而且测试机只有双核4线程,开4个写线程CPU75%,6个写线程就[……]

继续阅读

关于Event 5152 和 .net 垃圾回收的一些事

出问题的程序还是那个CPU100%的程序(就你事情多)。反正就是在查CPU占用率100%时顺带发现的,在进程垃圾回收期间,服务停止响应,没有接口调用,没有调用日志,没有错误日志,在事件管理器的安全子类下出现大量 Event 5152 的审核失败日志,如图。

其中这个 Event 515[……]

继续阅读