truman
(truman)
31.Март.2025 05:57:46
1
Лог здесь:
[2025-03-31T05:52:21.927771 #1] INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; then
if [ -d node_modules/.pnpm ]; then
echo "Эта версия Discourse использует yarn, но preset-версия node_modules для pnpm обнаружена. Очистка..."
find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
fi
su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi
bash: строка 1: 302 Убито CI=1 pnpm install --frozen-lockfile
I, [2025-03-31T05:52:29.299652 #1] INFO -- : Область: все 17 рабочих проектов
Файл блокировки актуален, шаг разрешения пропущен
Прогресс: разрешено 1, переиспользовано 0, загружено 0, добавлено 0
Пакеты: +455 -114
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Прогресс: разрешено 455, переиспользовано 170, загружено 50, добавлено 119
Прогресс: разрешено 455, переиспользовано 170, загружено 187, добавлено 257
Прогресс: разрешено 455, переиспользовано 170, загружено 281, добавлено 349
Прогресс: разрешено 455, переиспользовано 170, загружено 285, добавлено 357, готово
.../core-js@3.33.0/node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../node_modules/@swc/core postinstall$ node postinstall.js
.../esbuild@0.24.2/node_modules/esbuild postinstall$ node install.js
.../core-js@3.33.0/node_modules/core-js postinstall: Готово
.../node_modules/@swc/core postinstall: Не удалось
ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && if [ -f yarn.lock ]; then
if [ -d node_modules/.pnpm ]; then
echo "Эта версия Discourse использует yarn, но preset-версия node_modules для pnpm обнаружена. Очистка..."
find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
fi
su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi завершилась с ошибкой: #<Process::Status: pid 299 exit 137>
Место сбоя: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ -f yarn.lock ]; then\n if [ -d node_modules/.pnpm ]; then\n echo \"Эта версия Discourse использует yarn, но preset-версия node_modules для pnpm обнаружена. Очистка...\"\n find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n fi\n su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'\nelse\n su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'\nfi"]}
Загрузка не удалась с кодом выхода 137
** ЗАГРУЗКА НЕ УДАЛАСЬ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках; их может быть несколько.
pfaffman
(Jay Pfaffman)
31.Март.2025 20:52:27
3
Если память мне не изменяет, Exit 137 означает нехватку памяти.
Добавьте больше оперативной памяти и/или увеличьте размер файла подкачки. Вероятно, вам потребуется как минимум 5 ГБ суммарно оперативной памяти и файла подкачки.
truman
(truman)
01.Апрель.2025 02:07:22
4
total used free shared buff/cache available
Mem: 31Gi 4.1Gi 17Gi 3.5Mi 9.9Gi 27Gi
Swap: 8.0Gi 0B 8.0Gi
но памяти на моём сервере достаточно.. @pfaffman
pfaffman
(Jay Pfaffman)
01.Апрель.2025 10:38:16
5
Это очень странно. Код 137 означает, что задача получила сигнал SIGKILL, что обычно указывает на нехватку памяти.
Однако с таким объемом памяти это не имеет смысла.
Ed_S
(Ed S)
02.Апрель.2025 09:08:41
6
Это странно.
Возможно, стоит проверить вывод команды
sysctl vm.overcommit_memory
А также:
Ed_S:
Пожалуйста, выполните следующие быстрые диагностические команды и опубликуйте результаты:
cat /etc/lsb-release
uptime
df -h /
free
swapon
vmstat 5 5
dmesg|egrep -i "memory|oom|kill"
ps auxrc
truman
(truman)
02.Апрель.2025 09:16:59
7
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.2 LTS"
$ uptime
02:12:36 up 21 days, 5:25, 2 users, load average: 0.02, 0.18, 0.26
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0--root-root--partition 492G 29G 463G 6% /
$ free
total used free shared buff/cache available
Mem: 32819356 4093776 19016296 3576 10185012 28725580
Swap: 8388604 0 8388604
$ swapon
NAME TYPE SIZE USED PRIO
/swap.img file 8G 0B -2
$ vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
2 0 0 18944824 3620 10211784 0 0 2 81 1057 1 1 0 99 0 0 0
0 0 0 18965764 3620 10195160 0 0 0 123 8661 10955 3 6 91 0 0 0
2 0 0 18953904 3620 10203228 0 0 0 9 3388 3559 1 1 98 0 0 0
1 0 0 18864336 3620 10292272 0 0 3 3408 8327 10272 6 4 90 0 0 0
9 3 0 17795380 3620 10561284 0 0 1666 33519 29310 41403 27 27 44 1 0 0
dmesg|egrep -i "memory|oom|kill"
none
$ ps auxrc
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
td20 347732 200 0.0 21408 5588 pts/1 R+ 02:16 0:00 ps
$ sysctl vm.overcommit_memory
vm.overcommit_memory = 0
@Ed_S
Я заметил, что когда использование памяти превышает 1 ГБ+, процесс быстро завершается.
Ed_S
(Ed S)
02.Апрель.2025 11:19:26
8
Спасибо… Для меня это всё ещё немного загадка. Но я настоятельно рекомендую включить overcommit. Вы можете установить это прямо сейчас с помощью
sudo sysctl vm.overcommit_memory=1
однако чтобы применить настройку и после перезагрузки, потребуется немного больше усилий. Это может решить проблему, и в таком случае сохранение настройки — правильный шаг. Похоже, я сделал это, создав однострочный файл:
# cat /etc/sysctl.d/90-vm_overcommit_memory.conf
vm.overcommit_memory=1
Если это не поможет, возможно, какой-то watchdog или квота отслеживает чрезмерное использование ресурсов и завершает процессы. Возможно, стоит внимательно изучить полный вывод dmesg — если сбой произошёл недавно, последние 100 строк могут дать подсказку.