如何查看nginx的共享内存使用情况

如何查看nginx的共享内存使用情况

我正在研究 nginx 的缓存机制。我在 nginx.conf 中设置了以下内容。

fastcgi_cache_path /run/nginx-cache levels=1:2 keys_zone=PHP_CACHE:4m inactive=5m max_size=1m;

按照keys_zone=PHP_CACHE:4m,nginx 应该分配 4 MiB 的共享内存。为了检查这一点,我使用了ipcs命令,但它没有显示任何内容。这是否意味着 nginx 并没有真正利用 Linux 的共享内存机制?或者还有其他方法可以监视进程的共享内存使用情况?

答案1

Nginx 工作进程使用所谓的共享映射(请参阅 mmap(2))。此机制不同于 SYSV 和 POSIX 共享内存,因此 ipcs 不会提供您正在寻找的信息。您可以使用 top (SHR) 监控(某种程度上)共享内存使用情况,或者查看 /proc/[your_nginx_worker's_pid]/status 文件 (RssShmem)。

相关内容