Когда я использую вершину для наблюдения использования памяти, у меня есть поршень на 65 ГБ, но только 1.3 ГБ из него свободный и остающийся показывают, как используется. Когда я запустил свою программу, Она дает ошибку недостатка памяти. Хотя никакая другая программа не использует остающийся поршень на 63.7 ГБ, это - хранение. как я могу освободиться неиспользованный поршень?
Слишком много дубликатов для списка. Но короче говоря память используется как кэш и буферы, и будет освобождена, поскольку приложения используют более реальную память.
dylan@oxide:~$ free -m
total used free shared buffers cached
Mem: 123 120 3 0 34 35
-/+ buffers/cache: 50 72
Swap: 243 0 243
+/-буферная строка Ваше фактическое использование памяти. Какую программу Вы пытаетесь запустить? Очень возможно, что это не на самом деле отсутствие доступной памяти, но некоторая другая проблема.
Вы, возможно, выполняете операционную систему на 32 бита в режиме PAE на этой машине? Ваше приложение может хотеть больше чем 2 ГБ виртуального адресного пространства, которое не может обеспечить PAE. (Ядро перекомпилировало, может ударить это до 3 ГБ, но Вы действительно - более обеспеченное движение к 64 битам, если это так.)