Количество задач, у Вас есть работа Вашей машины, абсолютно не связано для торговли на сайт Red Hat. Red Hat является поставщиком программного обеспечения, не поставщиком услуг. Ваши программы выполняются на Вашей машине; единственная программа, которая соединяется с Red Hat, является диспетчером пакетов, когда это загружает пакеты для установки.
Главный вывод показывает, что центральные процессоры Вашей машины полностью заняты. Вы выполняете обоих интенсивных ЦП ( 50.0%us
) и IO-intensive ( 50.0%sy
) задачи? Ниже заголовков Вы будете видеть, какие процессы работают. Если Вы не знаете то, от чего эти процессы делают, отправляют полную страницу вывода top
и мы поможем. Если Вы не заботитесь о перезагрузке, перезагрузке и видите то, что происходит затем.
Если у Вас нет ста экземпляров диспетчера пакетов, работающего в фоновом режиме, существует хороший шанс, что Ваш поставщик виртуальной машины виновным. Возможно, что Вы совместно используете ресурсы, предназначенные для одной машины с другими виртуальными машинами. Свяжитесь со своим поставщиком виртуальной машины для поддержки.
getent passwd | cut -d: -f1 | while read USER ; do
echo $USER #use this to show some kind of progress otherwise delete this string
find / -user $USER > ${USER}.txt 2>/dev/null
done
PS для получения дополнительной информации смотрит на циклы оболочки.
Однако это - довольно плохая идея: необходимо будет работать find
в целой файловой системе так же много раз как многие пользователи Вы имеете.
Мы будем намного более умными и сделаем это в другом отношении: мы будем работать find
только однажды и разделение это производится к файлы как это:
find / -printf "%u %p\n" | awk '{print $2 > $1".txt"}'
По крайней мере, GNU находит, имеет -fprint
вариант, с которым можно выполнить то, что Вы хотите с одной передачей файловой системы с помощью идиомы: find path -user user1 -fprint user1.txt
.
Сначала генерируйте -user
и -fprint
аргументы:
findargs=""
for user in $(cut -d: -f1 /etc/passwd); do
if [[ -z $findargs ]]; then
findargs="-user $user -fprint $user.txt";
else
findargs="$findargs -or -user $user -fprint $user.txt"
fi
done
Вы теперь готовы проанализировать файловую систему:
find path/to/parse $findargs
>>
если Вы хотите больше, чем последний файл для каждого пользователя. – Kevin 13.08.2012, 15:20>>
добавит вывод awk к существующему содержанию файлов,>
освободит файл и поместит полный вывод, не только последнюю строку. Поскольку детали смотрят staff.science.uu.nl / ~ oostr102/docs/nawk/nawk_38.html#SEC41 – rush 13.08.2012, 15:43