제한된 메모리나 디스크 공간으로 인해 충돌이 발생한다고 생각되면 로그 파일에서 무엇을 찾아야 합니까?

제한된 메모리나 디스크 공간으로 인해 충돌이 발생한다고 생각되면 로그 파일에서 무엇을 찾아야 합니까?

최근 일련의 충돌에 대한 /var/log 파일 문제 해결, 메모리나 디스크 공간이 부족하다고 생각되면 파일에서 무엇을 찾아야 합니까? 당신은 가지고 있습니까?일반 용어이러한 유형의 하드웨어 오류에 대해 Linux에서 오류가 발생하는 용어는 무엇입니까? 그리고 심각한 메모리 부족으로 인해 영향을 받는 시스템 프로세스(예: 커널)는 무엇입니까?


배경으로 저는 Fedora 17 샌드박스 프로젝트 노트북에서 호스팅되는 Drupal 사이트에서 작업하고 있을 때 이러한 시스템 충돌을 경험했습니다. 최근에 상당히 큰 파일을 다운로드했는데(미디어로 옮겼습니다) 하드 드라이브 공간이 약 1.8G로 줄었습니다.

여기에서 메모리 사용량 모니터링에 대한 유용한 게시물을 찾았습니다.top또는 현재 디스크 사용량du. 그러나 이 질문은 특히 로그 파일에 관한 것입니다. 비슷한 게시물을 찾았습니다.페도라 포럼설명을 찾아 FPrintObjectMemtest를 해보았으나 나쁜 점은 보고되지 않았습니다.

답변1

귀하가 찾고 있는 정보는 일반적인 시스템 로그에서 찾을 수 없습니다. sysstat는 명령줄에서 성능 기록을 볼 수 있는 훌륭한 도구입니다.

sysstat를 사용하면 sadc시스템 정보를 수집하고 로그 파일에 기록할 수 있습니다. 로그 파일은 바이너리 형식이지만 명령을 사용하여 볼 수 있습니다 sar.

다음은 옵션이 없는 sar 출력의 예입니다.

$ sar
09:15:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:05:01 AM     all     77.49      0.37     22.13      0.00      0.00      0.00
10:15:01 AM     all     77.30      0.40     22.29      0.00      0.00      0.00
10:25:01 AM     all     77.19      0.38     22.42      0.00      0.00      0.00
10:35:01 AM     all     39.31      0.35     23.80      0.01      0.00     36.53
10:45:01 AM     all     32.22      0.34     24.26      0.03      0.00     43.15
10:55:01 AM     all     32.80      0.33     23.78      0.01      0.00     43.08
11:05:01 AM     all     32.70      0.33     23.76      0.00      0.00     43.20
Average:        all     63.90      0.39     22.79      0.00      0.00     12.91

표시되는 정보는 제공된 정보와 동일 top하지만 과거 데이터가 포함되어 있습니다. RAM, 네트워크 및 디스크 활용도에 대한 자세한 정보도 볼 수 있습니다. 다음은 RAM 사용의 예입니다.

$ sar -r
09:15:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
02:15:01 PM    457076   1357116     74.81    277876    810948    205520      5.40
02:25:01 PM    456836   1357356     74.82    277876    811168    205384      5.40
02:35:01 PM    456976   1357216     74.81    277876    811256    204728      5.38
02:45:01 PM    457036   1357156     74.81    277876    811368    204840      5.38
02:55:01 PM    456588   1357604     74.83    277896    811492    204924      5.38
Average:       332452   1481740     81.67    277720    793953    416953     10.96

sar를 로컬로 실행하는 것 외에도 성능 추세 데이터를 표시할 수 있는 모니터링 시스템이 많이 있습니다. 무닌(Munin), 선인장(cacti), 자빅스(zabbix) 등이 그 예입니다. 이것의 장점은 여러 서버의 데이터를 그래프로 표시하고 중앙 위치에 저장할 수 있다는 것입니다.

댓글의 답변 업데이트:

sar명령은 충돌이 발생하기 전에 RAM이 부족했는지 알려줍니다. 이는 kbbuffers 및 kbcached가 급격히 떨어지기 때문에 눈에 띄게 나타납니다. OOM(메모리 부족) 킬러에 대해 dmesg를 확인할 수도 있지만 dmesg는 klogd가 설치된 경우에만 로그를 작성합니다. 애플리케이션이 디스크에 쓸 수 없다고 구체적으로 보고하지 않는 한 디스크 공간 부족에 대한 로그는 표시되지 않습니다. 그러나 디스크가 가득 차면 syslog는 디스크에 로그를 쓸 수 없습니다.

관련 정보