최근 일련의 충돌에 대한 /var/log 파일 문제 해결, 메모리나 디스크 공간이 부족하다고 생각되면 파일에서 무엇을 찾아야 합니까? 당신은 가지고 있습니까?일반 용어이러한 유형의 하드웨어 오류에 대해 Linux에서 오류가 발생하는 용어는 무엇입니까? 그리고 심각한 메모리 부족으로 인해 영향을 받는 시스템 프로세스(예: 커널)는 무엇입니까?
배경으로 저는 Fedora 17 샌드박스 프로젝트 노트북에서 호스팅되는 Drupal 사이트에서 작업하고 있을 때 이러한 시스템 충돌을 경험했습니다. 최근에 상당히 큰 파일을 다운로드했는데(미디어로 옮겼습니다) 하드 드라이브 공간이 약 1.8G로 줄었습니다.
여기에서 메모리 사용량 모니터링에 대한 유용한 게시물을 찾았습니다.top
또는 현재 디스크 사용량du
. 그러나 이 질문은 특히 로그 파일에 관한 것입니다. 비슷한 게시물을 찾았습니다.페도라 포럼설명을 찾아 FPrintObject
Memtest를 해보았으나 나쁜 점은 보고되지 않았습니다.
답변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는 디스크에 로그를 쓸 수 없습니다.