小编Kir*_*rov的帖子

为什么在现代 Linux 上,默认堆栈大小如此之大 - 8MB(在某些发行版上甚至是 10)

例如,在 OSX 上,它甚至小于 512k。

考虑到应用程序不使用递归并且不分配大量堆栈变量,是否有任何推荐的大小?
我知道这个问题太广泛了,它在很大程度上取决于使用情况,但仍然想问,因为我想知道这个庞大的数字背后是否有一些隐藏的/内部/系统原因


我想知道,因为我打算在我的应用程序中将堆栈大小更改为 512 KiB - 这听起来仍然是一个巨大的数字,但它比 8MiB 小得多 - 并且会导致进程的虚拟内存显着减少,因为我有很多线程(I/O)。

我也知道这并没有什么坏处,这里有很好的解释pthreads 的默认堆栈大小

linux osx virtual-memory multithreading stack

13
推荐指数
2
解决办法
8999
查看次数

将持久数据存储到 /var/app_name/ 中是否安全

我想创建一个系统范围的目录,其中包含特定于应用程序的(读写)数据(如日志文件、配置和其他特定于应用程序的元数据)。

在阅读了更多关于 Linux 文件系统的内容后,我考虑使用/var/app_name/,但后来我发现,一些子目录是临时的(在重新启动时不是持久的,例如run, log, tmp)。

这有多重要?我的意思是,我应该使用另一个目录(如/home/app_name/)还是使用/var/app_name/可以?

filesystems

3
推荐指数
1
解决办法
1989
查看次数

标签 统计

filesystems ×1

linux ×1

multithreading ×1

osx ×1

stack ×1

virtual-memory ×1