Значительная часть этого может быть связана с ядром. Я наткнулся на следующие темы, в которых обсуждалось значительное увеличение зарезервированной памяти в ядре Linux в серии 2.6:
https://forum.linode.com/viewtopic.php?t=7194
https://forum.linode.com/viewtopic.php?t=7229
Короче говоря :Значительное увеличение зарезервированной памяти, по-видимому, было введено в версии ядра 2.6.38, а затем снова уменьшено, только для 32 -битных ядер , в версии 2.6.39.1.
Начиная с версии ядра 4.9.0 -3 -amd64, я вижу, что 167 500 КБ памяти зарезервировано для экземпляра Linode объемом 4 ГБ, так что со временем эти проблемы усугубляются.
Вот некоторый код, который на самом деле использует некоторые подоболочки:
echo "main shell: $BASH_SUBSHELL"
(
echo "first subshell: $BASH_SUBSHELL"
(
echo "second subshell: $BASH_SUBSHELL"
(
echo "third subshell: $BASH_SUBSHELL"
)
)
)