我很好奇 pstack 命令如何打印在 PID 下运行的所有线程的堆栈跟踪?
它必须与 gdb 的方式有所不同,因为进程在 gdb 环境中运行,但是 pstack 在进程执行后执行。
在典型的 C 程序中,Linux 内核提供 84K - ~100K 的内存。当进程使用给定的内存时,内核如何为堆栈分配更多的内存。
IMO,当进程占用堆栈的所有内存并且现在使用下一个连续内存时,理想情况下它应该发生页面错误,然后内核处理页面错误。内核是否在这里为给定进程的堆栈提供了更多内存,Linux内核中的哪个数据结构标识了进程堆栈的大小?