이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 26139|회답: 0

[출처] [연습] 리눅스 서버에서 자바 애플리케이션을 실행하다가 끊기는 문제를 문제 해결하세요

[링크 복사]
게시됨 2021. 9. 9. 오전 10:52:50 | | | |
아침에 개발 환경 웹사이트를 열어보면 메뉴 목록 데이터가 로드되지 않았고, 인터페이스에 실제로 문제가 있음을 확인했습니다.

서버에 로그인하여 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 애플리케이션을 다른 서버로 마이그레이션하기





이전의:도커의 리눅스 오버레이 파일 시스템
다음:Docker 이미지 계층을 분석하기 위해 권장되는 두 가지 도구가 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com