이전에 많은 파일이 포함 된 하나의 특정 디렉토리에서 파일의 ext4 목록이 매우 느림


16

배경

나는 작은 로그 로테이션 오류가 발생했습니다 ... Logrotate는 내 실수로 파일의 이차 성장을 일으키는 실수로 아카이브 된 로그를 회전시킵니다 /var/log/. 그리고 무언가가 끔찍하다는 바람에 /var/log/이미 몇 백만 개의 파일 이 포함되어 있습니다 ...

나는 (일부 탈모 및 찾기 / sed / grep 마술 후) 모든 문제를 일으키는 파일을 제거하고 logrotate 구성을 수정했습니다. 그리고 모든 것이 잘되었다고 생각했습니다 ...

문제

I 때마다 ls/ du -hs또는 다른이의 내용을 나열 /var/log/하는 과정은 좋은 분 또는 두 그 중단을하고 (지금 아카이브 / 로그 및 백 대부분 몇 개의 파일에서 80메가바이트을 포함). 나는 이것이 어떻게 든 로그 로테이션 실수와 관련이 있다고 생각하지만 확실하지 않습니다. 다른 것일 수 있습니다. 어쨌든 나는 디버깅을 시작하거나 이것에 대한 수정을 찾는 곳을 잃어 버렸습니다. 도와주세요 : 3

다른 정보

uname -a
Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R) 
Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux

cat /proc/meminfo 
MemTotal:        2051552 kB
MemFree:           75612 kB
Buffers:            9016 kB
Cached:          1740608 kB
SwapCached:            0 kB

CFQ IO scheduler + SLUB allocator 

나는 이것을 생각했다 : 디렉토리에 얼마나 많은 파일이 너무 많은가? (net에서 데이터 다운로드) 는 관련이 있지만 더 이상 파일이 남아 있지 않습니다.

편집하다

전화를 한 후에도 문제가 지속 init 1 되므로 FS 이외의 다른 프로세스가 없다고 가정하는 것이 안전하다고 생각합니다.

솔루션 (허용 된 답변에서 적용됨)

init 1
mv /var/log /var/log1
mkdir /var/log
chmod --reference=/var/log1 /var/log
chown --reference=/var/log1 /var/log
tar -C /var/log1 -cvp . | tar -C /var/log -xvp
rm -rf /var/log1
init 5

답변:


25

디렉토리는 축소되지 않고 크기 만 커집니다. 모든 파일을 임시 디렉토리 (예 : log2)로 이동 한 다음 이전 디렉토리를 rmdir로 바꾸고 임시 디렉토리의 이름을 새 영구 디렉토리로 바꾸십시오.


나는 당신이 대답 한대로 이것을했습니다. 그것은 :) 슬프게도, 난 당신을 표명하기에 충분한 평판이 없습니다 : /
Emily L.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.