Как стать автором
Обновить
9
0
Pavel Borzenkov @pbor

Пользователь

Отправить сообщение
Да. Если задать, например, 7000, то это будет 200% (т.е. два полных ядра). Вообще он будет печатать пересчитанное в проценты значение, и предупреждение, если заданное значение превышает суммарную мощность машины:

[root@host ~]# vzctl set 50 --cpulimit 3100m
CPU limit: 100.0%
[root@host ~]# vzctl set 50 --cpulimit 6200m
CPU limit: 199.9%
[root@host ~]# vzctl set 50 --cpulimit 12500m
Warning: the specified CPU frequency 12500 is higher the total 12404
CPU limit: 403.1%
Да, извиняюсь, мой косяк. vzctl из состава OpenVZ напрямую в мегагерцах ставить не дает.
vzctl из состава PCS так умеет, нужно добавит суффикс 'm' после значения, например:

vzctl set 111 --cpulimit 1500m
Такое утверждение неверно. Сам по себе O_DIRECT никаких гарантий, что после успешного завершения системного вызова write() данные попадут на энергонезависимый носитель, не дает. Такие гарантии могут дать только успешно завершенные системные вызовы fsync()/fdatasync(). До этого момента данных могут быть, например, в кэше самого диска или в кэше raid-контроллера.
Почему не указали? В release notes к vzctl все есть :)

Про O_DIRECT/fsync() — мое мнение такое, что лучше иметь возможности тонкой настройки системы (пускай и довольно опасные, если подходить без знания дела), чем вообще не иметь такой возможности.
А что с ним не так?
Конечно, в случае O_DIRECT нет одного универсального, подходящего всем решения. Поэтому и дана ручка, позволяющая настраивать его поведение (в том числе индивидуально, для каждого контейнера). Для того и статья, чтобы про ручку знали :)

Согласен с тем, что аффинити по NUMA-нодам в случае оверкоммита по CPU, может сделать только хуже, про это в статье тоже есть предупреждение ;) Это, скорее информация для тех, кто оверкоммитить не собирается, но кому нужно выжать максимальную производительность из машины, при этом изолируя компоненты системы в разных контейнерах.
Само по себе отключение O_DIRECT *не может* привести к потере данных.
Гарантированно на диск данные попадают только после успешно выполненных fsync()/fdatasync().
И они нужны вне зависимости от того, как писались данные (через кэш или напрямую).

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность