• Как ускорить контейнер: тюнингуем OpenVZ
    +1
    Да. Если задать, например, 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%
  • Как ускорить контейнер: тюнингуем OpenVZ
    +2
    Да, извиняюсь, мой косяк. vzctl из состава OpenVZ напрямую в мегагерцах ставить не дает.
    vzctl из состава PCS так умеет, нужно добавит суффикс 'm' после значения, например:

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

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

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