스왑이란 무엇입니까?
스왑 공간은 디스크의 영역으로, 파티션, 파일 또는 이들의 조합일 수 있습니다.
간단히 말하면, 시스템의 물리적 메모리가 부족할 때 Linux는 자주 액세스하지 않는 데이터를 메모리에 저장하여 교체함으로써 시스템이 각 프로세스를 처리할 더 많은 물리적 메모리를 확보하고 시스템이 스토리지에 액세스해야 할 때 콘텐츠를 교환한 다음 스왑의 데이터를 메모리에 로드하는 것을 흔히 스왑 아웃(swap out) 및 스왑 인(swap in)이라고 합니다.
왜 스왑이 필요한가요?
이 질문에 대답하려면 스왑이 우리에게 어떤 이점을 가져다 주는지 답해야 합니다.
일부 대형 애플리케이션(예: LibreOffice, 비디오 편집기 등)의 경우 시작 프로세스 중에 많은 양의 메모리가 사용되지만 이 메모리는 시작 중에만 사용되는 경우가 많으며 후속 작업에서는 거의 사용되지 않습니다. 이 추억들. 스왑을 사용하면 시스템은 이러한 방식으로 사용되지 않는 메모리 데이터 부분을 스왑에 저장할 수 있으므로 시스템에서 사용할 수 있는 물리적 메모리를 더 확보할 수 있습니다.
우분투와 같은 많은 배포판의 최대 절전 모드 기능은 스왑 파티션에 의존합니다. 시스템이 최대 절전 모드로 전환되면 메모리의 데이터는 다음에 시스템이 시작될 때 스왑 파티션에 저장됩니다. 시스템 시작 속도를 높일 수 있으므로 최대 절전 모드 기능을 사용하려면 스왑 파티션을 구성해야 하며 크기는 실제 메모리보다 크거나 같아야 합니다.
물리적 메모리가 제한되어 있는 경우도 있는데, 메모리를 많이 소모하는 프로그램을 실행하고 싶다면 어떻게 해야 하나요? 이때, 스왑 공간을 충분히 구성하면 목표를 달성할 수 있습니다. 조금 느리긴 하지만 최소한 실행은 가능합니다.
대부분의 경우 물리적 메모리는 충분하지만 프로세스에 예상보다 많은 메모리가 필요하거나 프로세스에 메모리 누수가 발생하는 등 예상치 못한 상황이 항상 발생합니다. 메모리가 충분하지 않으면 커널의 OOM 킬러가 OOM 킬러의 구성에 따라 일부 프로세스가 종료되거나 시스템이 직접 다시 시작됩니다(기본값은 가장 많은 메모리를 소비하는 프로세스를 먼저 종료하는 것입니다). 그러나 스왑을 사용하면 스왑을 다음과 같이 사용할 수 있습니다. 메모리 약간 느리기는 하지만 적어도 디버깅하거나 프로세스를 종료하거나 현재 작업 진행 상황을 저장할 수 있는 기회를 제공합니다.
Linux 메모리 관리를 보신 분이라면 시스템이 시스템의 I/O 속도를 높이기 위해 캐시에 여유 메모리를 최대한 많이 사용한다는 것을 아실 것입니다. 따라서 자주 사용하지 않는 메모리 데이터를 스왑으로 옮길 수 있다면 , 캐시에 더 많은 실제 메모리가 사용되어 전체 시스템 성능이 향상됩니다.
스왑의 단점은?
위에서 스왑의 장점을 소개했는데, 스왑의 단점은 어떨까요? 스왑은 디스크에 저장됩니다. 디스크의 속도는 메모리의 속도보다 몇 배나 느립니다. 스왑을 계속해서 읽고 쓴다면, 특히 시스템의 성능에 영향을 미칠 것입니다. 메모리가 매우 부족합니다. 스왑 공간의 빈도가 매우 높기 때문에 시스템이 죽은 것처럼 매우 느리게 실행됩니다. 이때 물리적 메모리를 추가하는 것이 유일한 해결책입니다.
시스템은 자주 사용하지 않는 메모리 데이터를 자동으로 스왑으로 이동시키기 때문에 데스크톱 프로그램의 경우 프로그램을 최소화했다가 다시 열 때 스왑에 있는 데이터를 메모리에 다시 로드해야 하기 때문에 약간의 일시 중지가 발생할 수 있습니다. .
교환할까?
위에서는 스왑이 무엇인지, 장점과 단점을 소개했는데, 스왑을 구성해야 할까요? 대답은 다음과 같습니다. 상황에 따라 다릅니다.
다음은 메모리 부족, 메모리 부족, 메모리 넉넉 등 세 가지 상황에서 서버 및 데스크톱 환경에서 스왑을 선택하는 방법에 대해 설명합니다.
메모리 부족
데스크톱이든 서버이든 물리적 메모리가 충분하지 않아 프로그램을 실행하려는 경우 스왑을 추가하는 것이 전혀 작동하지 않는 것보다 느린 것이 낫습니다.
메모리가 거의 충분하지 않습니다.
스왑을 구성하는 것이 좋습니다. 그러면 커널이 자주 사용되지 않는 데이터를 메모리에서 스왑으로 이동하여 시스템 호출을 위한 물리적 메모리를 더 많이 확보하고 시스템 성능을 향상하며 가끔 물리적인 오류를 방지할 수 있습니다. 메모리 장애로 인해 프로세스가 비정상적으로 종료되어 시스템 안정성이 향상되는 것은 아닙니다. 그러나 서버의 경우 스왑 공간이 예상보다 많이 사용되거나 스왑 인되는 경우에는 이를 제한하거나 모니터링해야 합니다. /out이 자주 발생하므로 적절한 조치를 취해야 합니다. 그렇지 않으면 시스템에 심각한 손상을 초래할 수 있습니다.
충분한 메모리
이론적으로 물리적 메모리가 충분하고 최대 절전 모드 기능이 필요하지 않은 경우 그러면 스왑은 쓸모가 없지만 핵심 문제는 어떤 상황에서도 물리적 메모리가 충분한지 확인하기 어렵다는 것입니다. 특정 프로세스가 예상보다 많은 메모리를 소비하거나 예상을 초과하는 서버 압력과 같은 예상치 못한 상황이 항상 있기 때문입니다. , 메모리 누수 등
현재 메모리 부족 현상이 발생하는 이유는 무엇입니까? mysql이 서버의 메모리 부족을 직접적으로 발생시키는 이유는 무엇입니까? 그러면 mysql 서버에서 스왑이 발생하는 이유는 무엇입니까?
실제 메모리가 16G이고 스왑이 4G라고 가정합니다. MySQL 자체가 이미 12G의 물리적 메모리를 차지하고 동시에 다른 프로그램이나 시스템 모듈에 6G의 메모리가 필요한 경우 운영 체제는 MySQL이 소유한 주소 공간의 일부를 스왑에 매핑할 수 있습니다.
직접 말하면, 시스템은 mysql이 차지하는 공간이 너무 커서 특별한 작업을 수행할 수 없다고 생각합니다. 메모리를 사용하려면 다른 필요한 프로세스 영역을 위한 공간을 만들어야 합니다. 재생 속도가 느려집니다!
mysql에서 가장 큰 메모리 점유자는 innodb_buffer_pool_size인데 처음에 이 값이 무리하게 설정되어 있지는 않은지 고려해야겠죠?
MySQL의 메모리 소비는 다음과 같이 나뉩니다.
1. 세션 수준 메모리 소비: sort_buffer_size 등. 각 세션은 정렬 작업을 위해 sort_buffer_size를 엽니다.
2. 전역 메모리 소비: : innodb_buffer_pool_size 등 글로벌 공유 메모리 세그먼트
여기서 우리 DBA는 전문가가 아닌 것 같습니다. 세션 레벨에서 메모리 사용량을 확인하는 첫 번째 상황을 고려하지 않고 직접 조정하라고 했습니다. innodb_buffer_pool_size
InnoDB의 버퍼 풀 캐시는 무엇입니까? 용도는 무엇입니까? 적절한 설정은 무엇입니까?
테이블 데이터와 인덱스 데이터를 캐시하고, 디스크의 데이터를 버퍼 풀에 로드하고, 액세스할 때마다 디스크 IO를 방지하고, 액세스 속도를 높입니다.
MySQL의 동시성 성능은 버퍼 풀에서 할당한 메모리 크기에 정비례합니다. 할당된 메모리가 클수록 동시성 성능이 향상됩니다. 머신 메모리의 99%를 모두 버퍼 풀에 할당해야 합니까?
물론 아니죠! 운영 체제 커널에도 몇 기가바이트의 메모리가 필요하다는 점은 말할 것도 없습니다. MySQL에는 다른 메모리 데이터 구조도 많이 있으므로 위의 아이디어는 확실히 실현 가능하지 않습니다.
버퍼 풀의 메모리 크기가 머신 전체 메모리의 50%~60%를 차지하는 것이 보다 합리적인 비율이어야 합니다.
Show Engine innodb statusG;를 통해 적중 상태를 확인할 수 있습니다. 적중률이 97%를 넘지 않으면 메모리 추가를 고려할 수 있습니다. 물론 이는 비즈니스와도 관련이 있습니다. 쓰기량이 많고 읽기량이 적은 경우는 특별한 경우입니다.
다른 경우에는 97% 이상에 도달하지 못하고, 읽기량이 많은 경우에는 98% 이상에 도달하지 못하는 경우, 이는 버퍼가 충분하지 않다는 것을 의미하며, 반면에 메모리 적중률이 20%이면 버퍼에 도달할 수 있으므로 사용 가능한 페이지가 많습니다. 이는 충분하다는 것을 의미합니다. 사용 가능한 페이지에 따라 계산하여 일부 메모리를 줄일 수도 있습니다.
위 내용은 Linux 스왑 공간 활용도가 높은 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Linux 유지 관리 모드는 Grub 메뉴를 통해 입력 할 수 있습니다. 특정 단계는 다음과 같습니다. 1) Grub 메뉴에서 커널을 선택하고 'e'를 눌러 편집, 2) 'Linux'라인 끝에 '단일'또는 '1'추가, 3) Ctrl X를 눌러 시작합니다. 유지 보수 모드는 시스템 수리, 비밀번호 재설정 및 시스템 업그레이드와 같은 작업을위한 안전한 환경을 제공합니다.

Linux 복구 모드를 입력하는 단계는 다음과 같습니다. 1. 시스템을 다시 시작하고 특정 키를 눌러 Grub 메뉴를 입력하십시오. 2. (복구 계)로 옵션을 선택하십시오. 3. FSCK 또는 루트와 같은 복구 모드 메뉴에서 작업을 선택하십시오. 복구 모드를 사용하면 단일 사용자 모드에서 시스템을 시작하고 파일 시스템 검사 및 수리를 수행하고 구성 파일 편집 및 기타 작업을 수행하여 시스템 문제를 해결할 수 있습니다.

Linux의 핵심 구성 요소에는 커널, 파일 시스템, 쉘 및 공통 도구가 포함됩니다. 1. 커널은 하드웨어 리소스를 관리하고 기본 서비스를 제공합니다. 2. 파일 시스템은 데이터를 구성하고 저장합니다. 3. Shell은 사용자가 시스템과 상호 작용할 수있는 인터페이스입니다. 4. 일반적인 도구는 일상적인 작업을 완료하는 데 도움이됩니다.

Linux의 기본 구조에는 커널, 파일 시스템 및 쉘이 포함됩니다. 1) 커널 관리 하드웨어 리소스 및 UNAME-R을 사용하여 버전을보십시오. 2) Ext4 파일 시스템은 큰 파일과 로그를 지원하며 mkfs.ext4를 사용하여 생성됩니다. 3) Shell은 Bash와 같은 명령 줄 상호 작용을 제공하고 LS-L을 사용하는 파일을 나열합니다.

Linux 시스템 관리 및 유지 보수의 주요 단계에는 다음이 포함됩니다. 1) 파일 시스템 구조 및 사용자 관리와 같은 기본 지식을 마스터합니다. 2) 시스템 모니터링 및 리소스 관리를 수행하고 Top, HTOP 및 기타 도구를 사용하십시오. 3) 시스템 로그를 사용하여 문제를 해결하고 JournalCTL 및 기타 도구를 사용하십시오. 4) 자동 스크립트 및 작업 스케줄링을 작성하고 CRON 도구를 사용하십시오. 5) 보안 관리 및 보호 구현, iptables를 통해 방화벽을 구성합니다. 6) 성능 최적화 및 모범 사례를 수행하고 커널 매개 변수를 조정하며 좋은 습관을 개발하십시오.

시작시 init =/bin/bash 또는 단일 매개 변수를 추가하여 Linux 유지 관리 모드가 입력됩니다. 1. 유지 보수 모드를 입력하십시오 : 그루브 메뉴를 편집하고 시작 매개 변수를 추가하십시오. 2. 파일 시스템을 다시 마운트하여 읽고 쓰기 모드 : MOUNT-OREMOUNT, RW/. 3. 파일 시스템 수리 : FSCK/DEV/SDA1과 같은 FSCK 명령을 사용하십시오. 4. 데이터 손실을 피하기 위해 데이터를 백업하고주의해서 작동합니다.

이 기사에서는 데비안 시스템에서 Hadoop 데이터 처리 효율성을 향상시키는 방법에 대해 설명합니다. 최적화 전략에는 하드웨어 업그레이드, 운영 체제 매개 변수 조정, Hadoop 구성 수정 및 효율적인 알고리즘 및 도구 사용이 포함됩니다. 1. 하드웨어 리소스 강화는 모든 노드에 일관된 하드웨어 구성, 특히 CPU, 메모리 및 네트워크 장비 성능에주의를 기울일 수 있도록합니다. 전반적인 처리 속도를 향상시키기 위해서는 고성능 하드웨어 구성 요소를 선택하는 것이 필수적입니다. 2. 운영 체제 조정 파일 설명 자 및 네트워크 연결 : /etc/security/limits.conf 파일을 수정하여 파일 설명자의 상한을 늘리고 동시에 시스템에 의해 열 수 있습니다. JVM 매개 변수 조정 : Hadoop-env.sh 파일에서 조정

이 안내서는 데비안 시스템에서 syslog를 사용하는 방법을 배우도록 안내합니다. Syslog는 로깅 시스템 및 응용 프로그램 로그 메시지를위한 Linux 시스템의 핵심 서비스입니다. 관리자가 시스템 활동을 모니터링하고 분석하여 문제를 신속하게 식별하고 해결하는 데 도움이됩니다. 1. syslog에 대한 기본 지식 syslog의 핵심 기능에는 다음이 포함됩니다. 로그 메시지 중앙 수집 및 관리; 다중 로그 출력 형식 및 대상 위치 (예 : 파일 또는 네트워크) 지원; 실시간 로그보기 및 필터링 기능 제공. 2. Syslog 설치 및 구성 (RSYSLOG 사용) Debian 시스템은 기본적으로 RSYSLOG를 사용합니다. 다음 명령으로 설치할 수 있습니다 : sudoaptupdatesud


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
