Облога: таблиця дескрипторів повна sock.c: 119: Забагато відкритих файлів


10

Я намагаюся зробити стрес-тест на власному сервері за допомогою облоги з наступною командою:

$ siege -c 500 myweb.com/somefile.php

Але я отримую цю помилку:

[error] descriptor table full sock.c:119: Too many open files

І я теж отримую це попередження:

libgcc_s.so.1 must be installed for pthread_cancel to work

Але я використовую Ubuntu 15.04 (відділення розвитку), і я встановив пакет libgcc1, тому не знаю, чому він скаржиться на цю спільну бібліотеку.

Як я можу вирішити занадто багато відкритих файлів та попередження libgcc?


3
Здається, помилки.launchpad.net/ubuntu/+source/siege/+bug/1317812 . У будь-якому разі намагайтеся збільшити максимальну кількість відкритих файлів за допомогою ulimit -n 10000або назавжди ( rtcamp.com/tutorials/linux/increase-open-files-limit ).
Федеріко Сьєрра

Відповіді:


8

Щоб вирішити цю проблему для себе, мені довелося налаштувати налаштування "ulimit" ОС:

ulimit -a - Перевірте поточні налаштування

ulimit -n 10000 - Редагувати значення налаштування

Джерело: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527



0

Повідомлення про помилку вводить в оману , але у вашій команді є erorr:

$ siege -c 500 myweb.com/somefile.php

Після цього -cпотрібно вказати кількість модельованих користувачів, що діють.

Не забудьте перевірити права на файл журналу: за замовчуванням це /var/log/siege.log.

Або вкажіть своє, додавши --log=/home/user/siege.log


1
У мене вказано число 500. Ваша відповідь неправильна
shakaran

1
Так, ти правий. Але перевіряйте файл журналу все одно
Сергій Григорчук

0

Установка gcc-multilibдопомогла мені з цим (Ubuntu 16.04.3 LTS)

sudo apt-get install gcc-multilib

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.