파일 시스템이 꽉 찼다고 보고하는 Solaris 8 상자가 있습니다.
db% tail -2 /var/adm/messages
Nov 22 08:32:27 db ufs: [ID 845546 kern.notice] NOTICE: alloc: /u03: file system full
Nov 22 08:34:51 db last message repeated 12 times
그러나 df는 사용 가능한 블록이 부족하지 않으며 사용 가능한 inode도 부족하지 않다고 말합니다.
db% df -k /u03
Filesystem kbytes used avail capacity Mounted on
/dev/md/dsk/d6 282330903 254957403 24550191 92% /u03
db% df -o i /u03
Filesystem iused ifree %iused Mounted on
/dev/md/dsk/d6 29663278 4230866 88% /u03
그래서 나는 아마도 일부 프로세스가 20GB 이상의 삭제된 파일에 대해 열린 파일 설명자를 보유하고 있다고 생각했습니다. 그러나 크기별로 정렬한 lsof는 2GB를 초과하는 내용을 보고하지 않으며 이는 합법적인 파일입니다.
db% lsof /u03 | sort -n +6
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
[...]
oracle 1257 oracle 278u VREG 85,6 2097160192 9685782 /u03/oradata/(redacted)/data/foo_tab_14.dbf
db%
파일 시스템을 가득 채울 수 있는 여유 블록과 아이노드를 저장하는 다른 리소스에 대한 포인터나 사용된 블록/아이노드를 "숨기는" 다른 방법 또는 누구나 갖고 있는 다른 아이디어에 대해 알려주시면 감사하겠습니다. 이 상자를 재부팅하거나 oracle을 종료하는 것은 유효한 조사 옵션이 아닙니다.
편집하다: 칼리드, 당시에는 그럴 수가 없었어요. DBA 중 한 명이 약 4GB를 확보했기 때문에 출력을 게시할 수 없습니다. 이는 머신이 계속 작동할 수 있음을 의미하며, 테스트로 다시 "채우면" 문제가 발생하기 때문입니다. 하지만 이번이 24시간 동안 두 번째로 약 92%가 차서 "채워졌습니다"(새 파일을 만들 수 없고 /var/adm/messages
"파일 시스템이 꽉 찼습니다"라고 보고함). 예, 이런 일이 발생하면 확실히 그렇습니다. 해당 FS에서 파일 생성 또는 확장이 중단됩니다.
답변1
nbfree
로 값 을 확인하세요 .
fstyp -v | head -18
만약 그것이 낮은 가치를 말한다면,내가 찾은 이 블로그 게시물당신을 도울 수 있습니다. 나는 게시물의 시작 부분을 인용합니다.
직장에는 새 파일을 생성할 수 없다고 애플리케이션에 알려주는 UFS가 포함된 Solaris 8이 있습니다. df 명령은 사용 가능한 inode가 많음을 보여 주었고 FS에도 충분한 여유 공간이 있었습니다. 애플리케이션에 오류가 발생한 이유는 여전히 사용 가능한 조각이 많지만 더 이상 사용 가능한 사용 가능한 블록이 없기 때문입니다. 조각만으로 새 파일을 만들 수는 없으며 각 새 파일마다 최소 하나의 여유 블록이 있어야 합니다.
UFS의 사용 가능한 블록 수를 보려면 "fstyp -v | head -18″을 보고 “nbfree” 뒤에 있는 값을 살펴보세요.