Как установить максимальное количество процессов или потоков MySQL?
ps axuw| grep mysql
указывает только на процесс MySQL, но если я запустил htop, я могу увидеть 10 строк, каждый из которых имеет отдельный PID. Поэтому я задаюсь вопросом, являются ли они потоками или процессами, которые по какой-то причине я не вижу с помощью ps.
Было бы разумным попытаться ограничить их двумя на моей машине разработки, где мне не нужен одновременный доступ многих клиентов.
BTW Запуск на Ubuntu 8.10
Ответы
Ответ 1
Вы можете установить максимальное количество потоков в my.ini следующим образом:
max_connections=2
Однако вы также можете установить это:
thread_cache_size=1
Кэш потоков контролирует, сколько он держит открытым, даже когда ничего не происходит.
Ответ 2
MySQL использует потоки, ps
может видеть их, если вы запустите ps -eLf
.
Тем не менее, я бы не стал беспокоиться об этом - бездействующие потоки практически не имеют ресурсов, и если вы слишком сильно ограничиваете сервер, он обязан вернуться и укусить вас на оборотной стороне когда-нибудь позже, когда вы забыли, что вы сделал это.
Ответ 3
В /etc/mysql/my.cnf
имеется несколько настроек конфигурации, которые влияют на использование памяти.
Следующие настройки:
key_buffer = 8M
max_connections = 30
query_cache_size = 8M
query_cache_limit = 512K
thread_stack = 128K
должен резко сократить использование памяти mysql.
читайте больше здесь: http://opensourcehacker.com/2011/03/31/reducing-mysql-memory-usage-on-ubuntu-debian-linux/
Ответ 4
Я искал файлы конфигурации MySQL, тогда я увидел этот вопрос... Ничего общего с MySQL, я прав?
Если основной целью является просмотр результата пользовательской команды, вы можете использовать "смотреть" со следующим синтаксисом (доступным для большинства Linux-систем):
watch "ps axuw| grep mysql"
Он будет запускать команду каждые 2 секунды и отображать вывод, это очень полезная команда.
- > Обратитесь к документу/человеку, чтобы узнать, насколько он силен;)