良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

详细分析/proc/meminfo

$cat /proc/meminfoMemTotal:        2052440 kB //总内存MemFree:           50004 kB //空闲内存Buffers:           19976 kB //给文件的缓冲大小Cached:           436412 kB //高速

阅读全文...

怎么去优化 MySQL


1. 要确保有足够的内存

数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。但不同的业务对内存需要强度不一样,一推荐内存要占到数据的15-25%的比例,特别的热的数据,内存基本要达到数据库的80%大小。

2. 需要更多更快的CPU

MySQL 5.6可以利用到64个核,而MySQL每个query只能运行在一个CPU上,所以要求更多的CPU,更快的CPU会更有利于并发。

3. 要选择合适的操作系统

在官方建议估计最推荐的是Solaris, 从实际生产中看CentOS, REHL都是不错的选择,推荐使用CentOS, REHL 版本为6以后的,当然Oracle Linux也是一个不错的选择。虽然从MySQL 5.5后对Windows做了优化,但也不推荐在高并发环境中使用windows.

阅读全文...

从内存中窃取未加密的SSH-agent密钥

一、 背景


如果你曾经使用过SSH密钥来管理多台设备,那么你很可能已经用过SSH-agent了。这个工具是用来在内存中保存SSH密钥的,这样用户就不需要每次都输入他们的口令了。然而,这可能招致一些安全威胁。一个以root权限运行的用户可能足以从内存中取出解密后的SSH密钥并重新构造。 由于需要root权限,这个攻击看上去很鸡肋。比如说,一个攻击者可以安装一个键盘记录器并用之获取SSH密钥。然而,这样会导致攻击者必须等待目标输入他们SSH密钥的口令。这可能要花上几个小时,几天,甚至几个星期,取决于目标登出的频率。这也是从内存中获取SSH密钥为什么对于迅速拿下其他机器非常重要


阅读全文...

redis常用内存优化手段与参数

redis实际上的内存管理成本非常高,即占用了过多的内存,作者对这点也非常清楚,所以提供了一系列的参数和手段来控制和节省内存,我们分别来讨论下。


首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,并且我们后续会分析此种持久化策略并不成熟,所以要关闭VM功能,请检查你的redis.conf文件中 vm-enabled 为 no。


阅读全文...