root@tymin:/var/discourse# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-0 partition 1.9G 1G -1
root@tymin:/var/discourse# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 2008928 0 2008928 0% /dev
tmpfs tmpfs 404176 41336 362840 11% /run
/dev/mapper/VolGroup-root ext4 59629100 50018424 6991008 88% /
tmpfs tmpfs 2020876 0 2020876 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 2020876 0 2020876 0% /sys/fs/cgroup
/dev/sda1 ext2 240972 226212 2319 99% /boot
tmpfs tmpfs 404172 0 404172 0% /run/user/1001
tmpfs tmpfs 404172 0 404172 0% /run/user/1000
/dev/loop0 btrfs 10485760 4250700 4424308 49% /chroot/compile
overlay overlay 59629100 50018424 6991008 88% /var/lib/docker/overlay2/4e9863e34f958e15f57c752fda2057b88f2aa03afaca82e0651f3aa23e56f795/merged
Какой у вас трафик? Ваш форум кажется слишком маленьким, чтобы возникли подобные проблемы.
Это официальная установка? На каком именно VPS работает ваш форум?
На странице администратора указано 50 тысяч просмотров страниц за последние 30 дней.
Наверное. Я следовал тем инструкциям, которые смог найти на тот момент.
Я не делал особой настройки установки.
Не уверен. Это виртуальный сервер с 2 ядрами и 4 ГБ ОЗУ от cari.net.
Ваш форум работает на nginx 1.10.3, которому уже более 6 лет, так что здесь что-то неладно.
Помимо этого, это, должно быть, одна из самых плохо работающих установок Discourse, которые я когда-либо видел. Я не хочу рекламировать наш собственный хостинг-сервис как таковой, но вы когда-нибудь задумывались о переходе на другого хостера? Форум такого размера и с такой нагрузкой должен работать нормально даже на очень небольшом сервере.
Уверен, из информации miniprofiler, которую вы поделили, можно многому научиться. Сейчас бросается в глаза только одно: не слишком ли у вас много черновиков постов??
/my/activity/drafts
У меня, apparently, 3 черновика.
У меня Debian 9. ![]()
Хотя nginx, кажется, работает нормально, остальная часть моего сайта (https://fredrik.hubbe.net/) не тормозит.
А по какому именно показателю?
Дискуссия сама по себе потребляет много памяти, операций ввода-вывода или процессорного времени? (Если да, то почему? Я ведь ничего особенного с ней не делал…)
Или же проблема в том, что система работает медленно? Если так, я могу обсудить это с cari.net.
И я, вероятно, попробую перезагрузку сегодня вечером, чтобы посмотреть, поможет ли это.Прошло около двух лет, думаю, может быть, пора?
Погодите минуту:
$ expr 0 `ps auxwww | tail +2 | awk '{ print " + " $6}'`
787952
Если общий объём резидентной памяти всех процессов меньше 800 МБ, то что же, чёрт возьми, занимает остальную память?
Файл /proc/meminfo тоже не кажется особенно полезным:
root@tymin:/# cat /proc/meminfo
MemTotal: 4041756 kB
MemFree: 122852 kB
MemAvailable: 53388 kB
Buffers: 15300 kB
Cached: 87636 kB
SwapCached: 125192 kB
Active: 314348 kB
Inactive: 300988 kB
Active(anon): 270652 kB
Inactive(anon): 276288 kB
Active(file): 43696 kB
Inactive(file): 24700 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1949692 kB
SwapFree: 921348 kB
Dirty: 144 kB
Writeback: 0 kB
AnonPages: 484704 kB
Mapped: 72596 kB
Shmem: 34520 kB
Slab: 319792 kB
SReclaimable: 26836 kB
SUnreclaim: 292956 kB
KernelStack: 6272 kB
PageTables: 19484 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 3970568 kB
Committed_AS: 4146996 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 4001728 kB
DirectMap2M: 192512 kB
Возможно, мне действительно нужен перезапуск больше, чем я думал… Два года утечек памяти ядра?
Перезагрузился, теперь у меня свободно 2 ГБ памяти. Посмотрим, надолго ли это хватит. ![]()
После использования Discourse в течение некоторого времени вы обнаружите, что занято много места на жестком диске.
Это в основном связано с проблемой образов Docker: чем больше обновлений, тем больше места они занимают.
Выполните следующую команду:
./launcher cleanup
Это поможет освободить место, занятое Discourse.
Это поможет с использованием дискового пространства, но, к сожалению, в данном случае:
происходит огромное количество операций подкачки, что убивает производительность.
Всё ожидает диска, что является ужасным состоянием системы.
Дело не в том, что он не работает нормально; для меня это было указанием на то, что что-то может быть устаревшим или установка не является стандартной.
Пока перезагрузка, кажется, работает.
Но всё ещё не уверен, почему именно.
Рад, что перезагрузка, похоже, помогла!
Возможно, это окажется информативным. Я покажу свои данные, у меня система гораздо меньше.
Но вот мысль: есть настройка ядра, которая может повлиять на производительность — включены ли у вас прозрачные огромные страницы (transparent huge pages)? У меня они выключены:
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
Посмотрите Мнение MKJ о конфигурации развёртывания Discourse за советами!
Вот мои данные meminfo на гораздо меньшей системе, которая работает отлично:
# cat /proc/meminfo
MemTotal: 1009140 kB
MemFree: 91888 kB
MemAvailable: 88692 kB
Buffers: 7644 kB
Cached: 137040 kB
SwapCached: 144884 kB
Active: 418972 kB
Inactive: 380324 kB
Active(anon): 345300 kB
Inactive(anon): 345852 kB
Active(file): 73672 kB
Inactive(file): 34472 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097144 kB
SwapFree: 1049764 kB
Dirty: 400 kB
Writeback: 0 kB
AnonPages: 620688 kB
Mapped: 67192 kB
Shmem: 36536 kB
Slab: 67768 kB
SReclaimable: 27832 kB
SUnreclaim: 39936 kB
KernelStack: 3804 kB
PageTables: 14968 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2601712 kB
Committed_AS: 3784772 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 460652 kB
DirectMap2M: 587776 kB
Хорошо, я просто хочу закрыть этот вопрос.
Перезагрузка помогла и продолжает помогать.
Я не знаю, что вызвало утечку памяти, и если ничего не изменится, мне, вероятно, придётся раз в год или около того снова перезагружать систему, с чем я могу смириться.