我正在为 Linux 嵌入式平台开发一个多线程应用程序。
目前,我将每个线程的堆栈大小(通过pthread_set_attr)设置为相当大的默认值。我想将每个线程的值微调为较小的值,以减少应用程序的内存使用量。我可以尝试将每个线程的堆栈大小设置为逐渐减小的值,直到程序崩溃,但应用程序使用约 15 个线程,每个线程具有完全不同的功能/属性,因此这种方法将非常耗时。
我更愿意能够直接测量每个线程的堆栈使用情况。人们可以推荐一些实用程序来执行此操作吗?(例如,我来自 vxWorks 背景,并使用 vxWorks shell 中的“ti”命令直接提供有关堆栈使用情况的统计信息以及有关任务状态的其他有用信息。)