对于WEB程序来说,它寄宿在IIS提供的w3wp进程中,这个进程占用的内存大小和你的应用程序的使用有个直接关系,你的程序写的标准,它占用内存就相对低,你的程序写的伪范规,该释放的东西不让系统释放(有些对象GC回收不了),就会造成内存使用过高的情况,对于32位系统来说,最高1.6G,超过后,进程自动挂...
分类:
其他好文 时间:
2014-07-28 15:26:13
阅读次数:
222
垃圾回收器有2种不同的工作模式,分别为工作站模式(Workstation)和服务器模式(Server),按照GC线程的工作方式,又可以分成并发方式(Concurrent),非并发方式(Non-concurrent)。在工作站模式上,可以运行并发方式和非并发方式,而在服务器模式上,只能运行非并发方式。在.NET..
分类:
其他好文 时间:
2014-07-27 12:00:47
阅读次数:
214
一. 数据库软件安装参照官方手册1.安装rpm包注这里的yum直接用163的yumyum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gc...
分类:
数据库 时间:
2014-07-27 10:17:12
阅读次数:
527
我们晓得,lua 对外的 API 中,统统个 gc 打交道的都经过lua_gc。C 说话构建体系时,普通不讲计划模式。但模式仍是存在的。若要按《计划模式》中的分类,这应当归于 Facade 形式。代码在 lapi.c 的 895 行: LUA_API int lua_gc (lua_State *L...
分类:
其他好文 时间:
2014-07-27 10:01:22
阅读次数:
241
今天来说说 write barrier 。在 GC 的扫描过程中,由于分步执行,难免会出现少描了一半时,那些已经被置黑的对象又被修改,需要重新标记的情况。这就需要在改写对象时,建立 write barrier 。在扫描过程中触发 write barrier 的操作影响的对象被正确染色,或是把需要再染...
分类:
其他好文 时间:
2014-07-27 10:01:02
阅读次数:
309
GC 中最繁杂的 mark 部分已经谈完了。剩下的东西很简单。今天一次可以写完。sweep 分两个步骤,一个是清理字符串,另一个是清理其它对象。看代码,lgc.c 573 行:case GCSsweepstring: { lu_mem old = g->totalbytes; s...
分类:
其他好文 时间:
2014-07-27 09:58:12
阅读次数:
383
今天来看一下 mark 过程是怎样实现的。所有的 GC 流程,都从 singlestep 函数开始。singlestep 就是一个最简单的状态机。GC 状态简单的从一个状态切换到下一个状态,循环不止。状态标识放在 global state 的 gcstate 域中。这一点前面谈过。开始的两个状态和 ...
分类:
其他好文 时间:
2014-07-27 09:57:32
阅读次数:
302
普及下常识:GC 是 garbage collector 资源回收器;初期的 Lua GC 采取的是 stop the world 的实现。一旦产生 gc 就需要期待全部 gc 流程走完。lua 自己是个很精简的体系,但不代表处理的数据量也必然很小。从 Lua 5.1 入手下手,GC 的实现改成分步...
分类:
其他好文 时间:
2014-07-27 09:54:52
阅读次数:
262
我们知道在程序运行过程中要创建大量的对象,和其他高级语言类似,在ObjC中对象时存储在堆中的,系统并不会自动释放堆中的内存(注意基本类型是由系统自己管理的,放在栈上)。如果一个对象创建并使用后没有得到及时释放那么就会占用大量内存。其他高级语言如C#、Java都是通过垃圾回收来(GC)解决这个问题的,...
分类:
移动开发 时间:
2014-07-27 09:43:12
阅读次数:
515
为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或行为:已经通过-Xms和–Xmx 设置了内存大小包含了-server参数系统中没有超时日志等错误日....
分类:
编程语言 时间:
2014-07-25 02:17:34
阅读次数:
468