이 기사는 PHP의 메모리 관리에 대한 소개를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
1. PHP 메모리 관리 개요 - Zend 엔진
컴퓨터의 메모리는 운영체제에 의해 관리되기 때문에 일반 애플리케이션은 메모리에 직접 접근할 수 없습니다.
응용 프로그램은 운영 체제에서만 메모리를 신청할 수 있습니다. 일반 응용 프로그램도 동일한 작업을 수행하며 필요할 때 malloc과 같은 라이브러리 기능을 통해 운영 체제에서 메모리를 신청합니다.
고성능 요구 사항이 있는 일부 응용 프로그램 시나리오에서는 웹 서버, 프로그래밍 언어 등과 같이 메모리를 자주 사용하고 해제해야 합니다. 운영 체제에서 메모리 공간을 적용하면 시스템 호출, 시스템 호출 및 일반 응용 프로그램 계층이 트리거되므로 시스템 호출은 CPU를 사용자 모드에서 커널로 전환하기 때문에 함수 호출 성능의 차이가 매우 큽니다. 이는 물리적 메모리 작업을 포함하기 때문에 운영 체제에서만 수행할 수 있으며 이 전환 비용이 매우 큽니다. 커널을 자주 사용하는 경우 모드와 사용자 모드 간 전환으로 인해 성능 문제가 발생할 수 있습니다.
시스템 호출 오버헤드를 고려하여 성능이 필요한 일부 애플리케이션은 일반적으로 사용자 모드에서 자체 메모리를 관리합니다. 사용 후 해제된 메모리는 즉시 작업에 반환되지 않습니다. 시스템은 메모리를 재사용할 수 있으므로 여러 메모리 응용 프로그램 및 해제로 인한 성능 소모를 방지할 수 있습니다.
PHP는 명시적으로 메모리를 관리할 필요가 없으며 이러한 작업은 Zend 엔진에 의해 관리됩니다. PHP에는 더 이상 사용되지 않는 메모리 쓰레기를 자동으로 해제하는 메모리 관리 시스템이 있습니다.
2. php에서 메모리 관련 매개변수와 기능을 보고 설정합니다
메모리 크기 구성:
(1) php.ini에서 memory_limit = 32M 구성을 변경할 수 있습니다
(2) ini_set() 함수가 그렇지 않은 경우 환경에서 비활성화된 경우 다음 함수를 통해 설정할 수 있습니다: ini_set("memory_limit", "128M");
메모리 상태 확인:
(1) memory_get_usage(), 이 함수의 기능은 메모리를 가져오는 것입니다. 현재 PHP 스크립트에서 사용되는 크기입니다.
(2) memory_get_peak_usage(), 이 함수는 현재 스크립트가 차지하는 최대 메모리를 현재 위치로 반환하므로 현재 스크립트의 메모리 요구 사항을 얻을 수 있습니다.
이 기사는 여기까지입니다. 더 많은 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 php 비디오 튜토리얼 컬럼을 주목하세요!
위 내용은 PHP의 메모리 관리 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!