По моему опыту, собственный драйвер Linux, что предложения Nvidia могут вызвать ужасные проблемы производительности с определенными картами (особенно более старые). Человек, который разрешил их проблему путем возвращения их драйвера к более старой версии, является хорошей демонстрацией проблем регрессии драйвера Nvidia.
Я рекомендовал бы пробовать драйвер Nvidia с открытым исходным кодом, известный как "nouveau". Это не всегда работает безупречно с менее - популярные карты (у меня были полные отказы загрузиться с неясными картами Nvidia как 7300GS), и afaik, это не может обработать 3D ускорение благодаря отсутствию Nvidia коммуникации, но в большинстве случаев это может быть великий исполнитель для нормального настольного использования.
Я не чрезвычайно знаком с упаковочной системой openSUSE, но необходимо будет, вероятно, удалить пакет Nvidia прежде, чем установить nouveau. В противном случае необходимо будет поместить в черный список модуль Nvidia (препятствуйте тому, чтобы он загрузился), путем добавления имени модуля к /etc/modprobe.d/blacklist.conf
(в этом случае blacklist nvidia
) и затем перезагрузка.
Можно проверить, какой модуль в настоящее время загружается в терминальном использовании lsmod | grep nvidia
, или для nouveau lsmod | grep nouveau
.
Некоторые версии find
(невстроенный Linux, Cygwin, OSX, FreeBSD), позволяют Вам сравнивать время изменения файла со ссылочной датой с -newermt
оператор.
find /storage/backup/rman -newermt '2012-12-01' ! -newermt '2013-01-01'
Вы не можете использовать -mtime
сказать, был ли файл изменен в конкретную дату, потому что этот оператор относительно времени, которое Вы выполняете find
команда. Если Ваш find
не имеет -newermt
оператор, создайте ссылочные файлы и используйте -newer
оператор.
touch -t 201212010000 start
touch -t 201301010000 end
find /storage/backup/rman -newer start ! -newer end
Для получения общего размера файлов использовать du -c
и сохраните только последнюю (“общую”) строку. Необходимо будет исключить каталоги, потому что при передаче каталога du
, это складывает размеры всех файлов в соответствии с тем каталогом.
find /storage/backup/rman -type f -newermt '2012-12-01' ! -newermt '2013-01-01' -exec du -c {} + | tail -n 1
Если у Вас есть большое количество файлов, длина командной строки могла бы быть слишком большой, таким образом, find
будет работать du
многократно и команда выше только перечислила бы вывод от последнего пакета. В этом случае необходимо будет сложить суммы от каждого выполнения. Вот один способ сделать это.
find /storage/backup/rman -type f -newermt '2012-12-01' ! -newermt '2013-01-01' \
-exec sh -c 'du "$@" | tail -n 1' _ {} + |
awk '{total += $1} END {print total}'
Осуществление: что случилось со следующей командой? (Т.е. в том, какая необычная но возможная ситуация это сообщит о неправильном числе?)
find /storage/backup/rman -type f -newermt '2012-12-01' ! -newermt '2013-01-01' \
-exec du {} + |
awk '$2 == "total" {total += $1} END {print total}'
Сначала получите размер файла в байтах, затем подведите итог их:
sed 's/\s\+/+/g' <<<$(find /storage/backup/rman/ -mtime +90 -mtime -120 -exec stat -c "%s" {} \;) | bc
Править
Видеть файлы также,
du -chs $(find /storage/backup/rman/ -mtime +90 -mtime -120)
find . -name '*.ear' -exec ls -lh {} \;
просто h дополнительное от ответа jer.drab.org. экономит время, преобразовывая в МБ мысленно.
Связанные ресурсы