重定向

此博客已停止更新,新址: http://blog.scicooking.net


2007年11月22日星期四

fork()子进程和父进程共享的资源

子进程和父进程共享很多资源,除了打开文件之外,很多父进程的其他性质也由子进程继承:

• 实际用户ID、实际组ID、有效用户ID、有效组ID。

• 添加组ID。

• 进程组ID。

• 对话期ID。

• 控制终端。

• 设置-用户-ID标志和设置-组-ID标志。

• 当前工作目录。

• 根目录。

• 文件方式创建屏蔽字。

• 信号屏蔽和排列。

• 对任一打开文件描述符的在执行时关闭标志。

• 环境。

• 连接的共享存储段。

• 资源限制。

父、子进程之间的区别是:

• fork的返回值。

• 进程ID。

• 不同的父进程ID。

• 子进程的tms_utime,tms_stime,tms_cutime以及tms_ustime设置为0。

• 父进程设置的锁,子进程不继承。

• 子进程的未决告警被清除。

• 子进程的未决信号集设置为空集。

2007年11月3日星期六

让Eclipse显示JVM当前内存使用量

更新:Eclipse 有对应的选项...
Windows -> Preferences... -> General
勾选 Show heap status 即可。

让Eclipse显示JVM当前内存使用量:

1、在Eclipse根目录下建立一个文件,文件名options,文件内容org.eclipse.ui/perf/showHeapStatus=true

2、用这条命令启动Eclipse:

E:\eclipse3.1\eclipse.exe -debug options -vm javaw.exe

或者直接右键Eclipse的快捷方式,在"目标"中填入这行。

3、启动Eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量,另外还可以强制进行垃圾收集。

4、可以使用 eclipse.ini 替代命令行参数,每个参数名或者参数值单独一行

-debug
options
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256
-vmargs
-Xms64m
-Xmx256m

可以更改 JVM 堆和栈的大小.
如果在 eclipse.ini 中用 -vm 参数,必须些全路径指定 java.exe 或者 javaw.exe