Я получаю всевозможные ошибки, связанные с памятью, от python и php, а также ошибки сегментации - но вывод free -m
постоянно показывает много свободной памяти - т.е.
greg@greg-brown:~$ free -m
total used free shared buffers cached
Mem: 1024 520 503 0 0 163
-/+ buffers/cache: 356 667
Swap: 512 0 512
Означает ли это проблема с оборудованием? Как мне отладить это?
Вы можете избавиться от ошибок памяти, если попытаетесь выделить один блок больше, чем доступно в одном непрерывном блоке, даже если во многих меньших блоках доступно много памяти. Это происходит особенно в 32-битных системах, когда виртуальное адресное пространство становится фрагментированным, что становится все более и более вероятным по мере приближения к 2 ГБ и чем дольше оно используется. Google "фрагментация памяти" для получения дополнительной информации.