我在R中加载了一个6 GB的数据集,运行在Centos Linux 6.3,128 GB RAM,16核机器上。同时,我使用top命令监视RAM的使用情况。大约104分钟后,在top命令的输出中,VIRT列显示189 GB。
现在,我不能理解VIRT列为什么显示超过128 is (这是限制)。是否正在使用某种类型的共享内存?
关于pthread_attr_setstacksize 的手册页
A thread's stack size is fixed at the time of thread creation. Only the main thread can dynamically grow its stack.
我对linux线程的理解是,主线程堆栈的大小仅限于主线程创建上的ulimit -s值。虽然它可以根据堆栈使用的需要映射到virt,但其大小不再增长。
动态增长在这里意味着什么?这是否意味着主线程堆栈的大小可以超过ulimit -s