谁偷了我的内存?记一次内存占用过高的排查

2018-08-21: 内存升到44G了,看不下去了,决定手动清理

1
2
sync
echo 2 > /proc/sys/vm/drop_caches

又看了很多文章,每打开一个文件就会增加 dentry 这个程序有大量的 Curl 请求以及多进程的任务组。这个应该就是问题了吧。


项目服务器是 8H64G 的 EC2,因为项目数据量很大,监控程序一直显示真实内存占用在 47G 左右,本以为是Mysql占用过大导致的。htop图显示如下:


图中显示 Mysql 内存占用 2.1%,但是出现了很多列,肤浅的我错误的认为这些都是 Mysql,以 n*2.1 来计算 Mysql 的占用,经过V2er们的指点,得知了在 htop 中默认是以线程展示数据的,Mysql是多线程程序,多个线程之间的内存是共享的,通过 H 指令切换到非线程模式。

阅读更多

[typecho 插件] GoogleRecaptcha

typecho_GoogleRecaptcha

为 Typecho Admin 开启Google invisible Recaptcha 验证

开启 Google reCAPTCHA

前往 Google reCAPTCHA 开启 reCAPTCHA 并 获取参数

  1. 选择 Invisible reCAPTCHA ,填写 Domains 进行注册
  2. 获取 Site key & Secret key
    <https://i.loli.net/2018/01/09/5a5413230deab.png

插件配置

将 Site Key & Secret Key 填入对应的配置项

配置加载 JS 使用的地址

配置后端验证 response 使用的地址

Github