在CentOS系統中,緩存配置是一個重要的優化步驟,可以顯著提高系統性能和響應速度。以下是一些常見的緩存配置技巧:
查看當前緩存使用情況:
free -h
或者
vmstat -s | grep cache
調整緩存大小:通常不需要手動調整文件系統緩存,因為Linux內核會自動管理。但如果你確實需要調整,可以通過修改 /etc/sysctl.conf
文件來實現:
echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf
sysctl -p
這個參數控制內核回收緩存的壓力,值越低,內核越傾向于保留緩存。
安裝nscd:
sudo yum install nscd
啟動并啟用nscd服務:
sudo systemctl start nscd
sudo systemctl enable nscd
配置nscd:編輯 /etc/nscd.conf
文件,根據需要進行配置,例如:
enable-cache hosts yes positive-time-to-live hosts 3600 negative-time-to-live hosts 20
安裝mod_cache:
sudo yum install mod_cache mod_cache_disk
啟用模塊:
sudo systemctl restart httpd
sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart httpd
配置緩存:編輯 /etc/httpd/conf.d/cache.conf
文件,例如:
<IfModule mod_cache.c>
<IfModule mod_cache_disk.c>
CacheRoot "/var/cache/httpd/mod_cache_disk"
CacheEnable disk /
CacheDirLevels 2
CacheDirLength 1
</IfModule>
</IfModule>
/etc/nginx/nginx.conf
文件,添加緩存配置:http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
}
}
}
/etc/my.cnf
或 /etc/mysql/my.cnf
文件,例如:[mysqld]
innodb_buffer_pool_size = 1G
query_cache_size = 64M
query_cache_type = 1
/var/lib/pgsql/data/postgresql.conf
文件,例如:shared_buffers = 25% of total RAM
work_mem = 4MB
maintenance_work_mem = 512MB
/etc/minio/minio.conf
或 /etc/minio/conf/minio.json
。{
"enable": true,
"type": "memory",
"size": "1024MB"
}
lifecycle
部分設置對象的過期時間。free -h
命令查看內存使用情況,包括總內存、已用內存、空閑內存、共享內存、緩沖區和緩存的使用情況。echo 1 > /proc/sys/vm/drop_caches
清理頁緩存。echo 2 > /proc/sys/vm/drop_caches
清理目錄項和索引節點緩存。echo 3 > /proc/sys/vm/drop_caches
清理所有緩存。vm.vfs_cache_pressure
控制內核回收page與dentries的傾向性。通過上述方法,可以在CentOS系統中有效地管理緩存,從而提升系統性能和響應速度。在進行任何緩存清理或優化操作之前,請確保了解這些操作的影響,并在測試環境中驗證其效果,以避免對生產環境造成不必要的影響。