G-Wan использует всю доступную память

Я установил самый последний на данный момент веб-сервер g-wan (4.3.14 x64) на VPS KVM с серверной версией Ubuntu 14.04.02, предоставляемой Vultr ( 1 ГБ ОЗУ, 1 ядро ​​ЦП и своп 2 ГБ).

Настройка VPS абсолютно проста - только Ubuntu и g-wan. Я скопировал g-wan в /opt/gwan/ и запустил его как сервис, используя сценарии инициализации, приведенные в документации по g-wan. Я также отключил папку csp (переименовав ее в _csp) и не установил никаких дополнительных языков сценариев для работы с ней, потому что она нужна мне только как статический файловый сервер. Кроме этого я не сделал никаких дополнительных настроек (за исключением включения доступа и журналов ошибок).

Изначально g-wan начинается с очень небольшого объема памяти - чуть больше 4 МБ, но только через несколько часов он становится намного больше (через 7 часов после последнего перезапуска, и теперь он занимает около 360 МБ) - чем больше времени проходит, тем больше растет, и машина перестает отвечать на запросы (я полагаю, из-за подкачки), и единственное решение - перезагрузить его.

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

Я могу предоставить дополнительную информацию, если требуется, просто не знаю, что еще упомянуть на данный момент.

//РЕДАКТИРОВАТЬ:

Вот последние 30 строк журнала трассировки:

Tue, 28 Jul 2015 08:08:55 GMT: start
Tue, 28 Jul 2015 08:08:56 GMT: start
Tue, 28 Jul 2015 08:08:57 GMT: start
Tue, 28 Jul 2015 08:08:58 GMT: start
Tue, 28 Jul 2015 08:09:00 GMT: start
Tue, 28 Jul 2015 08:09:01 GMT: start
Tue, 28 Jul 2015 08:09:02 GMT: start
Tue, 28 Jul 2015 08:09:03 GMT: start
Tue, 28 Jul 2015 08:09:04 GMT: start
Tue, 28 Jul 2015 08:09:06 GMT: start
Tue, 28 Jul 2015 08:09:07 GMT: start
Tue, 28 Jul 2015 08:09:08 GMT: start
Tue, 28 Jul 2015 08:09:09 GMT: start
Tue, 28 Jul 2015 08:09:10 GMT: start
Tue, 28 Jul 2015 08:09:11 GMT: start
Tue, 28 Jul 2015 08:09:13 GMT: start
Tue, 28 Jul 2015 08:09:14 GMT: start
Tue, 28 Jul 2015 08:09:15 GMT: start
Tue, 28 Jul 2015 08:09:16 GMT: start
Tue, 28 Jul 2015 08:09:18 GMT: start
Tue, 28 Jul 2015 08:09:19 GMT: start
Tue, 28 Jul 2015 08:09:20 GMT: start
Tue, 28 Jul 2015 08:09:20 GMT: signal 15: Termination
Tue, 28 Jul 2015 08:09:40 GMT: start
Tue, 28 Jul 2015 14:45:05 GMT: signal 2: Ctrl-C
Tue, 28 Jul 2015 14:45:41 GMT: start
Tue, 28 Jul 2015 17:56:47 GMT: signal 15: Termination
Tue, 28 Jul 2015 17:58:15 GMT: start
Tue, 28 Jul 2015 17:59:00 GMT: signal 15: Termination
Tue, 28 Jul 2015 17:59:11 GMT: start

И некоторые объяснения о них:

Я проверил весь журнал, и он заполнен только строками, содержащими метку времени и начало для каждой секунды. Первое завершение - когда я остановил службу и запустил сервер вручную через ./gwan, Второе завершение Ctrl-C - это когда я остановил предыдущую команду (которая ничего не показывала на терминале во время работы) и на этот раз запустил ее ./gwan -d:www-data:www-data - опять никаких проблем. Я снова убил его и запустил как сервис - опять же, нет стартовых записей в журнале каждую секунду, хотя до сих пор он работал только час.

В файле gwan.log также не было ничего, кроме информации о запуске / останове и потреблении памяти, печатаемой каждую секунду, например:

[Tue Jul 28 03:29:32 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:32 2015 GMT] log files enabled
[Tue Jul 28 03:29:32 2015 GMT] memory footprint: 188.71 MiB.
[Tue Jul 28 03:29:33 2015 GMT] memory footprint: 187.56 MiB.
[Tue Jul 28 03:29:33 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:33 2015 GMT] log files enabled
[Tue Jul 28 03:29:33 2015 GMT] memory footprint: 189.10 MiB.
[Tue Jul 28 03:29:34 2015 GMT] memory footprint: 187.58 MiB.
[Tue Jul 28 03:29:34 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:34 2015 GMT] log files enabled
[Tue Jul 28 03:29:34 2015 GMT] memory footprint: 188.72 MiB.
[Tue Jul 28 03:29:35 2015 GMT] memory footprint: 187.61 MiB.
[Tue Jul 28 03:29:35 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:35 2015 GMT] log files enabled
[Tue Jul 28 03:29:35 2015 GMT] memory footprint: 190.40 MiB.
[Tue Jul 28 03:29:36 2015 GMT] memory footprint: 187.61 MiB.
[Tue Jul 28 03:29:36 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:36 2015 GMT] log files enabled
[Tue Jul 28 03:29:36 2015 GMT] memory footprint: 188.75 MiB.
[Tue Jul 28 03:29:37 2015 GMT] memory footprint: 187.63 MiB.
[Tue Jul 28 03:29:37 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:37 2015 GMT] log files enabled
[Tue Jul 28 03:29:37 2015 GMT] memory footprint: 190.32 MiB.
[Tue Jul 28 03:29:38 2015 GMT] memory footprint: 187.66 MiB.
[Tue Jul 28 03:29:38 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:38 2015 GMT] log files enabled
[Tue Jul 28 03:29:38 2015 GMT] memory footprint: 188.79 MiB.
[Tue Jul 28 03:29:39 2015 GMT] memory footprint: 187.67 MiB.
[Tue Jul 28 03:29:39 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:39 2015 GMT] log files enabled
[Tue Jul 28 03:29:39 2015 GMT] memory footprint: 190.61 MiB.
[Tue Jul 28 03:29:41 2015 GMT] memory footprint: 187.69 MiB.
[Tue Jul 28 03:29:41 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:41 2015 GMT] log files enabled
[Tue Jul 28 03:29:41 2015 GMT] memory footprint: 188.83 MiB.
[Tue Jul 28 03:29:42 2015 GMT] memory footprint: 187.70 MiB.
[Tue Jul 28 03:29:42 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:42 2015 GMT] log files enabled
[Tue Jul 28 03:29:42 2015 GMT] memory footprint: 190.10 MiB.
[Tue Jul 28 03:29:43 2015 GMT] memory footprint: 187.71 MiB.
[Tue Jul 28 03:29:43 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:43 2015 GMT] log files enabled
[Tue Jul 28 03:29:43 2015 GMT] memory footprint: 188.86 MiB.
[Tue Jul 28 03:29:44 2015 GMT] memory footprint: 187.73 MiB.
[Tue Jul 28 03:29:44 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:44 2015 GMT] log files enabled
[Tue Jul 28 03:29:44 2015 GMT] memory footprint: 190.13 MiB.
[Tue Jul 28 03:29:45 2015 GMT] memory footprint: 187.76 MiB.
[Tue Jul 28 03:29:45 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:45 2015 GMT] log files enabled
[Tue Jul 28 03:29:45 2015 GMT] memory footprint: 188.91 MiB.
[Tue Jul 28 03:29:46 2015 GMT] memory footprint: 187.74 MiB.
[Tue Jul 28 03:29:46 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:46 2015 GMT] log files enabled
[Tue Jul 28 03:29:46 2015 GMT] memory footprint: 188.90 MiB.
[Tue Jul 28 03:29:47 2015 GMT] memory footprint: 187.79 MiB.
[Tue Jul 28 03:29:47 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:47 2015 GMT] log files enabled
[Tue Jul 28 03:29:47 2015 GMT] memory footprint: 188.92 MiB.
[Tue Jul 28 03:29:48 2015 GMT] memory footprint: 187.79 MiB.
[Tue Jul 28 03:29:48 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:48 2015 GMT] log files enabled
[Tue Jul 28 03:29:48 2015 GMT] memory footprint: 190.17 MiB.
[Tue Jul 28 03:29:50 2015 GMT] memory footprint: 187.82 MiB.
[Tue Jul 28 03:29:50 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:50 2015 GMT] log files enabled
[Tue Jul 28 03:29:50 2015 GMT] memory footprint: 188.95 MiB.
[Tue Jul 28 03:29:51 2015 GMT] memory footprint: 187.84 MiB.
[Tue Jul 28 03:29:51 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:51 2015 GMT] log files enabled
[Tue Jul 28 03:29:51 2015 GMT] memory footprint: 190.21 MiB.
[Tue Jul 28 03:29:52 2015 GMT] memory footprint: 187.84 MiB.
[Tue Jul 28 03:29:52 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0
[Tue Jul 28 03:29:52 2015 GMT] log files enabled
[Tue Jul 28 03:29:52 2015 GMT] memory footprint: 188.10 MiB.

// РЕДАКТИРОВАТЬ 2:

Кажется, что по какой-то странной причине он начинает регистрировать странные стартовые события каждую ночь ровно в полночь. Я начал это как сервис прошлой ночью в Tue, 28 Jul 2015 19:31:22 GMT: start и это работало без проблем до полуночи. Позже проверим это с изменением системной даты во время работы как обычного приложения.

Кроме того, забыл упомянуть, что cronjobs не определены вообще на случай, если какой-либо из них может помешать g-wan.

// РЕДАКТИРОВАТЬ 3:

Я пытался вручную изменить системную дату, когда g-wan работал как служба и как обычное приложение (также ранее отключал службу ntp), но кажется, что g-wan не распознает изменения, потому что нет журнала вращение в папке, где хранится gwan.log. Также нет новых записей в журнале трассировки.

Все это заставило меня подумать, что проблема может быть как-то связана со службой ntp, но это все еще не объясняет, почему это происходит только в полночь, в то время как служба ntp обновляет системное время чаще.

// РЕДАКТИРОВАТЬ 4:

Вот часть обнаружения оборудования с момента последнего запуска веб-сервера (с измененным IP-адресом и именем домена). Сервер был запущен с service gwan startхотя я полагаю, что запись журнала была бы такой же, если бы я начал с ./gwan

[Wed Jul 29 11:37:56 2015 GMT] ------------------------------------------------
[Wed Jul 29 11:37:56 2015 GMT] G-WAN 4.3.14 64-bit (Mar 14 2013 07:33:12)
[Wed Jul 29 11:37:56 2015 GMT] ------------------------------------------------
[Wed Jul 29 11:37:56 2015 GMT] Local Time: Wed, 29 Jul 2015 11:37:56 GMT+0
[Wed Jul 29 11:37:56 2015 GMT] RAM: (474.11 MiB free + 0 shared + 92.90 MiB buffers) / 993.92 MiB total
[Wed Jul 29 11:37:56 2015 GMT] Physical Pages: 474.11 MiB / 993.92 MiB
[Wed Jul 29 11:37:56 2015 GMT] DISK: 15.65 GiB free / 19.70 GiB total
[Wed Jul 29 11:37:56 2015 GMT]  Filesystem     Type      Size  Used Avail Use% Mounted on
[Wed Jul 29 11:37:56 2015 GMT]  /dev/vda1      ext3       20G  4.1G   15G  22% /
[Wed Jul 29 11:37:56 2015 GMT]  none           tmpfs     4.0K     0  4.0K   0% /sys/fs/cgroup
[Wed Jul 29 11:37:56 2015 GMT]  udev           devtmpfs  487M  4.0K  487M   1% /dev
[Wed Jul 29 11:37:56 2015 GMT]  tmpfs          tmpfs     100M  372K  100M   1% /run
[Wed Jul 29 11:37:56 2015 GMT]  none           tmpfs     5.0M     0  5.0M   0% /run/lock
[Wed Jul 29 11:37:56 2015 GMT]  none           tmpfs     497M     0  497M   0% /run/shm
[Wed Jul 29 11:37:56 2015 GMT]  none           tmpfs     100M     0  100M   0% /run/user
[Wed Jul 29 11:37:56 2015 GMT] 80 processes, including pid:2542 './gwan -d'
[Wed Jul 29 11:37:56 2015 GMT] Page-size:4,096 Child-max:7,780 Stream-max:16
[Wed Jul 29 11:37:56 2015 GMT] CPU: 1x Virtual CPU e7da7129d3ee
[Wed Jul 29 11:37:56 2015 GMT]  0 id: 0     0
[Wed Jul 29 11:37:56 2015 GMT] Cores: possible:0 present:0 online:0
[Wed Jul 29 11:37:56 2015 GMT] L1d cache:   32K line:64     0
[Wed Jul 29 11:37:56 2015 GMT] L1i cache:   32K line:64     0
[Wed Jul 29 11:37:56 2015 GMT] L2  cache: 4096K line:64     0
[Wed Jul 29 11:37:56 2015 GMT] NUMA node #1 0
[Wed Jul 29 11:37:56 2015 GMT] CPU(s):1, Core(s)/CPU:0, Thread(s)/Core:2
[Wed Jul 29 11:37:56 2015 GMT] Bogomips: 4,799.99
[Wed Jul 29 11:37:56 2015 GMT] Hypervisor: KVMKVMKVM
[Wed Jul 29 11:37:56 2015 GMT]   using   1 workers 0[1]0
[Wed Jul 29 11:37:56 2015 GMT]   among   2 threads 0[]1
[Wed Jul 29 11:37:56 2015 GMT] 64-bit little-endian (least significant byte first)
[Wed Jul 29 11:37:56 2015 GMT] Ubuntu 14.04.2 LTS \n \l (3.13.0-58) 64-bit
[Wed Jul 29 11:37:56 2015 GMT] user: root (uid:0), group: root (uid:0)
[Wed Jul 29 11:37:56 2015 GMT] system  fd_max: 1,024
[Wed Jul 29 11:37:56 2015 GMT] program fd_max: 1,024
[Wed Jul 29 11:37:56 2015 GMT] updated fd_max: 500,000
[Wed Jul 29 11:37:56 2015 GMT] Available network interfaces (2):
[Wed Jul 29 11:37:56 2015 GMT] 127.0.0.1
[Wed Jul 29 11:37:56 2015 GMT] 1.2.3.4
[Wed Jul 29 11:37:56 2015 GMT] memory footprint: 1.33 MiB.
[Wed Jul 29 11:37:56 2015 GMT] Host /opt/gwan/0.0.0.0_80/#domain.com
[Wed Jul 29 11:37:56 2015 GMT] log files enabled
[Wed Jul 29 11:37:56 2015 GMT] memory footprint: 3.93 MiB.

// РЕДАКТИРОВАТЬ 5:

Сегодня вечером я оставил его работающим как обычный процесс (с ./gwan) и в полночь проблем не было, поэтому проблема может быть в режиме демона.

Полагаю, я могу запустить его таким образом при запуске с помощью cron, если не существует исправления для сервисного режима.

1 ответ

Решение
CPU: 1x Virtual CPU e7da7129d3ee
[Wed Jul 29 11:37:56 2015 GMT] Cores: possible:0 present:0 online:0
CPU(s):1, Core(s)/CPU:0, Thread(s)/Core:2
Hypervisor: KVMKVMKVM
using   1 workers 0[1]0
among   2 threads 0[]1

Не смотрите дальше, однажды гипервизор KVM может правильно настроить виртуализацию ЦП, правильно обновив переменные ядра /proc/sys...

А пока KVM сломает каждый multicore приложение, как G-WAN.

"Исправить" - запустить G-WAN следующим образом: # ./gwan -g -w 1 -d

Это заставит использовать 1 CPU Core, несмотря на поддельную системную информацию.

Другие вопросы по тегам