在CentOS系统中,缓存配置可以通过多种方式实现,具体取决于你想要缓存的内容。以下是一些常见的缓存配置技巧:
free -h
或者vmstat -s | grep cache
/etc/sysctl.conf
文件来实现:echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf
sysctl -p
这个参数控制内核回收缓存的压力,值越低,内核越倾向于保留缓存。sudo yum install nscd
sudo systemctl start nscd
sudo systemctl enable nscd
/etc/nscd.conf
文件,根据需要进行配置,例如:enable-cache hosts yes positive-time-to-live hosts 3600 negative-time-to-live hosts 20
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 {
listen 80;
server_name example.com;
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
free -h
命令查看内存使用情况,包括总内存、已用内存、空闲内存、共享内存、缓冲区和缓存的使用情况。sync
echo 1 > /proc/sys/vm/drop_caches
清理页缓存。echo 2 > /proc/sys/vm/drop_caches
清理目录项和索引节点缓存。echo 3 > /proc/sys/vm/drop_caches
清理所有缓存。echo "0 2 * * * root sync; echo 3 /proc/sys/vm/drop_caches" | crontab -u root
/etc/sysctl.conf
文件,添加或修改以下参数以提高性能:net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = "1024 65535"
net.ipv4.tcp_max_syn_backlog = 8192
net.core.somaxconn = 1024
net.core.netdev_max_backlog = 2000
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
然后执行以下命令使更改生效:sudo sysctl -p
通过上述方法,可以有效地管理和优化CentOS系统的缓存,从而提升系统性能和响应速度。在进行任何系统级操作之前,建议先备份重要数据,并在测试环境中验证优化效果。