If each cgroup has a single process running, how are these processes scheduled given the CFS period (assuming both processes constantly require CPU time)?
То, что вы настроили, означает 50% ядра ЦП/HT, но не 50% всей системы.
How would CFS schedule the processes in this case when the quota is oversubscribed?
Как и в предыдущем случае, переподписка отсутствует, это просто означает, что два процесса могут использовать 0,5 процессорного времени и 0,9 процессорного времени каждый. Чтобы понять, рассмотрим случай, если в вашей системе было 20 процессорных ядер/HT.
Первое слово, которое вы наберете в командной строке, будет интерпретировано вашей оболочкой как имя команды.
Оболочка расширит символ подстановки имени файла *
на все видимые имена в текущем каталоге. Имена будут отсортированы в лексикографическом порядке.
Вы находитесь в каталоге, в котором имя boot
является именем, которое сортируется первым. Это означает, что ввод только*
в этом конкретном каталоге будет таким же, как попытка запустить команду с именем boot
со всеми другими именами из этого каталога в качестве аргументов командной строки.
В вашей системе нет команды с именем boot
в вашем текущем $PATH
, поэтому оболочка жалуется, что не может ее найти.
Вот что бывает.
Пример на моей системе (с оболочкой zsh
, а не bash
, но в этом отношении она работает одинаково):
% cd /
% ls
altroot bsd bsd.sp home sbin usr
bin bsd.booted dev mnt sys var
boot bsd.rd etc root tmp
% *
zsh: command not found: altroot
Когда я использую только *
, оболочка пытается запустить команду с именем altroot
, потому что имя altroot
(, которое оказывается именем каталога ), сортируется первым в расширении *
. ] шаблон подстановки имени файла в каталоге, в котором я находился.
Выбор команд для запуска с помощью шаблонов подстановки имен файлов чреват ошибками и опасен, поэтому его лучше избегать.
Как связанный с этим анекдот, я полагаю, что я видел, как пользователи создавали файл с именем -i
в каталогах с важными файлами. Так что у них может быть что-то вроде
$ ls -l
total 0
-rw-r--r-- 1 myself wheel 0 Apr 16 18:49 -i
-rw-r--r-- 1 myself wheel 0 Apr 16 18:49 important-file-1.txt
-rw-r--r-- 1 myself wheel 0 Apr 16 18:49 important-file-2.txt
-rw-r--r-- 1 myself wheel 0 Apr 16 18:49 important-file-3.txt
Обратите внимание, как -i
сортируется первым? Это означает, что когда они делаютrm -rf *
(по ошибке )в этом каталоге, происходит это:
$ rm -rf *
remove important-file-1.txt? n
remove important-file-2.txt? n
remove important-file-3.txt? n
То есть имя -i
вставляется как опция к rm -rf
, что заставляет rm
запрашивать подтверждение перед удалением каких-либо файлов. Затем они получают шанс прервать операцию.
Это забавная маленькая хитрость, но совсем не правильное решение проблемы случайного удаления файлов.Правильным решением этой проблемы является регулярное резервное копирование.