아침에 개발 환경 웹사이트를 열어보면 메뉴 목록 데이터가 로드되지 않았고, 인터페이스에 실제로 문제가 있음을 확인했습니다.
서버에 로그인하여 Java 애플리케이션을 확인하세요출력 파일 및 로그 파일 리디렉션, 마지막 로그 시간은 아래 그림에서 보듯이 21:15에 머물렀음을 발견했습니다:
시스템 로그를 확인해
9월 8일 21:30:05 centos7-dev04 커널: 메모리 부족: 프로세스 32452 (자바) 점수 84 또는 자식 희생 9월 8일 21:30:05 centos7-dev04 커널: 프로세스 32452 (java)를 킬드했습니다. UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB
만약 어떤 애플리케이션이 리눅스에 의해 중단되었다고 의심된다면, 다음 명령어를 사용하여 신속하게 문제를 해결할 수도 있습니다:
메모리 사용량을 확인하기 위한 명령어는 다음과 같습니다:
합격top 명령어, 그리고 m을 타입아래 그림과 같이 프로세스가 사용하는 메모리에 따라 정렬된 키들:
PID: 프로세스의 ID 사용자: 프로세스 소유자 PR: 프로세스의 우선순위가 작을수록 실행해야 할 우선순위가 더 큽니다 나이스: 가치 VIRT: 프로세스가 차지하는 가상 메모리 RES: 프로세스가 차지하는 물리적 메모리 SHR: 프로세스가 사용하는 공유 메모리 S: 과정의 현황에 대해 말씀드리겠습니다. S는 최대 절전 상태, R은 실행 중, Z는 교착 상태, N은 프로세스 우선순위 값이 음수임을 나타냅니다 %CPU: 프로세스가 사용하는 CPU의 사용 속도 %MEM: 프로세스가 사용하는 물리적 메모리 및 총 메모리 비율 TIME+: 프로세스가 시작된 후 소모하는 총 CPU 시간, 즉 CPU 사용 시간의 누적 값입니다. 명령어: 프로세스 시작 명령어의 이름입니다
애플리케이션이 끊긴 이유는 서버가 메모리가 부족해지고 있었기 때문이며, 리눅스가 일부 규칙에 따라 자바 애플리케이션을 자동으로 종료했기 때문입니다. 결국 자바 애플리케이션은 매우 많은 메모리를 차지하기 때문입니다.
다음 명령어를 사용하여 특정 Java 애플리케이션을 확인할 수 있습니다:
용액
1. 서버 메모리 증가 2. Java 애플리케이션의 메모리 사용량 제한 3. 일부 Java 애플리케이션을 다른 서버로 마이그레이션하기
|