Что такое стек Linux? - PullRequest
       2

Что такое стек Linux?

6 голосов
/ 18 января 2012

Недавно я столкнулся с ошибкой, связанной с "стеком linux" и "размером стека linux".Я наткнулся на блог, который велел мне попробовать

ulimit -a

, чтобы узнать, каков был предел для моего ящика, и он был установлен на 8192kb, который, по-видимому, является значением по умолчанию.

Чтотакое "стек Linux"?Как это работает, что хранит, что делает?

1 Ответ

10 голосов
/ 18 января 2012

Краткий ответ:

Когда программы на вашем linux-боксе запускаются, они регулярно добавляют и удаляют данные из стека в качестве функций программ.Размер стека относится к тому, сколько места выделено в памяти для стека.Если вы увеличите размер стека, это позволит программе увеличить количество вызываемых процедур.Каждый раз, когда вызывается функция, данные могут быть добавлены в стек (размещены поверх данных последних подпрограмм.)

Если программа не очень сложная или не предназначена для специального назначения, размер стека составляет8192кб нормально нормально.Некоторые программы, такие как программы обработки графики, требуют увеличения размера стека для работы.Поскольку они могут хранить много данных в стеке.

Не стесняйтесь увеличивать размер стека для этих приложений, это не проблема.Для этого используйте

ulimit -s bytes

Кстати, Что такое ошибка StackOverflowError?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...