Я использую mCruiseOn Server, который является Java-приложением на стороне сервера (сокеты, несколько потоков, memcached, mysql) на Micro EC2. Это часто сбой. Я подозреваю, что использование памяти, возможно, убило это.
Как узнать, какая программа использует слишком много памяти
Я прочитал это, и это было очень полезно. Теперь мне нужно знать, произошло ли сбой моего приложения из-за нехватки памяти. Любой системный журнал, который имеет эту информацию?
Если правильно спроектированное приложение дает сбой из-за нехватки памяти, оно должно дать некоторую полезную информацию об этом. Попробуйте запустить вызов приложения из Терминала и проверить сообщения.
Я перенаправлял весь вывод в файл, используя > my.log &
, а затем использовал tail -f my.log
для просмотра всех сообщений. По какой-то причине все e.printstacktrace
не было в my.log. Я пропустил RuntimeException
и точную основную причину ArrayOutofboundException
.