V5R3, у меня есть доступ к среде PASE
Отчет о дисковом пространстве показывает, что пользовательские каталоги занимают 76% системного диска. К сожалению, установка «8» для каталогов не дает рекурсивной оценки размера.
Существуют ли другие команды или утилиты IBM, которые могут эффективно получить эту информацию, чтобы мы могли определить, какая папка занимает дисковое пространство? Система уже ползет, и я бы предпочел не останавливать ее, пытаясь диагностировать.
IBM упомянула следующую утилиту PASE:
CALL QP2TERM
find /qibm/proddata -type f -size +20000 -exec ls -lH {} \; | awk '{ print
$9 ": " $5 }'
Но он (на данный момент) вернул только файлы объемом около 3-4 ГБ, что заставляет меня думать, что это тысячи файлов меньшего размера, которые вызывают нагрузку на систему.
В худшем случае я запущу SBMJOB завтра с QSH CMD ('ls -R / >> /QSYS.LIB/QGPL.LIB/QSHOUT.FILE/QSHOUT.MBR') и просто помещу его в QSYSNOMAX с низким приоритетом .
Вау, прошло много лет с тех пор, как я прикоснулся к AS / 400, и у меня не было на нем команд, подобных Unix.
В find
команда в вашем вопросе ищет только большие файлы а не большие каталоги (много маленьких файлов).
Вместо find
команда, попробуйте:
du /qibm/proddata | sort -n
Если это сработает, внизу этого списка будут самые большие каталоги в этой иерархии.
Вы также можете попробовать вариант find
перечисленная вами команда, которая проверяет размеры каталогов:
find /usr/share -type d -size +20000 -exec ls -lHd {} \; | awk '{ print $9 ": " $5 }'
Вы можете попробовать разные размеры в качестве порогового значения. Возможно, ваше пространство занято файлами вне /qibm/proddata
.
К сожалению, я забыл многое из того, что знал об AS / 400.
Во-первых, IBM база знаний по теме стоит прочитать.
Во-вторых, здесь было большое заблуждение. При установке 8 в папке IFS, чтобы просмотреть ее свойства, атрибут "Размер на диске" - это размер объекта "папка" IFS, кроме любой его содержания. Таким образом, размер папок, которые мы заподозрили, составил 83 886 080 байт: 80 мегабайт. Было бы неплохо, если бы он рассчитывался рекурсивно, но это всего лишь сам объект папки! Как только этот момент стал ясен, решение было простым; используйте команду DEL, чтобы очистить проблемный каталог, в котором было около 75 ГБ объектов.
Метод получения рекурсивного размера каталога IFS состоит в том, чтобы поместить 2 в его родительском каталоге, а затем 6 на рассматриваемом объекте каталога; полученное число будет для объекта папки и всех содержащихся объектов, включая подпапки и их объекты.
Команды RTVDIRINF и PRTDIRINF также потенциально полезны, хотя в моем случае они мне не понадобились.
Пара замечаний по этому поводу от моего коллеги:
Команды создают разные файлы для каждого запуска - вывод должен иметь какой-нибудь значимый префикс; каталог верхнего уровня или аналогичный. PRTDIRINF имеет параметр * DIR, который дает список пространства, используемого для каждого каталога. Вероятно, можно было бы выполнить такой запрос, чтобы получить более быстрый обзор:
SELECT sum(QEZALCSIZE), sum(QEZDTASIZE) FROM homeo
Это даст общий размер в каталоге / home.
Вот более полезный пример, работающий с результатами каждого каталога.
SELECT sum(O.QEZALCSIZE), D.QEZDIRNAM1, D.QEZDIRIDX
FROM homed d join homeo o on d.qezdiridx = o.qezdiridx
GROUP BY d.qezdiridx, qezdirnam1
ORDER BY 1 desc, 3, 2
Затем вы можете объединить их, используя UNION SELECT, чтобы получить общую картину:
SELECT sum(QEZALCSIZE), QEZDIRNAM1, homeD.QEZDIRIDX
FROM homed join homeo on homed.qezdiridx = homeo.qezdiridx
GROUP BY homed.qezdiridx, qezdirnam1
UNION
SELECT sum(QEZALCSIZE), QEZDIRNAM1, etcD.QEZDIRIDX
FROM etcd join etco on etcd.qezdiridx = etco.qezdiridx
GROUP BY tcd.qezdiridx, qezdirnam1
ORDER BY 1 desc, 3, 2
Один из распространенных виновников - это каталог:
/ QIBM / UserData / OS400 / MGTC / сервис
Если эта папка очень большая, следуйте Инструкции IBM для его выключения (если нет особой причины, по которой он включен), а затем очистите каталог, как указано выше.
Наконец, Архивы списков рассылки среднего уровня и соответствующие вики также прекрасные ресурсы в своей сфере. Образцы SQL и примечание, касающееся трассировки с помощью централизованного управления, поступили из списка рассылки Midrange.