linux优化内存

top

这个命令可以发现cpu或mem异常的进程,可以用kill -9杀死

在这里插入图片描述

查看前20内存占用

ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20

free -m

在这里插入图片描述

定时清理缓存

freemem.sh

date >> /root/log/mem.log
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
echo "ok" >> /root/log/mem.log

可以设置一个定时任务,每个小时执行,
0 * * * * /root/python/freemem.sh>>/root/log/mem.log 2>&1 &
![在这里插入图片描述](https://img-blog.csdnimg.cn/fbbc922674e0450388b7b670c586cb26.png

优化nginx

减少nginx.conf中worker_processes的个数,使之为cpu核数的2倍

优化mysql内存

找到 table_definition_cache,我们修改为400

官方解释为:可以存储在定义缓存中的表定义数(来自.frm文件)。如果使用大量表,可以创建大型表定义缓存以加快表的打开速度。与普通的表缓存不同,表定义缓存占用更少的空间,并且不使用文件描述符。最小值和默认值均为400。

找到 table_open_cache,我们修改为256

MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。

官方解释为:所有线程的打开表数。增加该值会增加mysqld所需的文件描述符的数量。因此,您必须确保在[mysqld safe]部分的变量“open files limit”中将允许打开的文件量设置为至少4096。

找到 performance_schema ,修改为off

如果找不到这个的话,直接在合适的地方加上 performance_schema = off 即可。

用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况,关闭之后可以节省开销,不会使server的行为发生变化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值