ECS Linux负载常见问题的分析解决
发布日期:2015-12-16 22:12:33
用户在使用Linux服务器也许会时常出现负载问题。缓存文件时内存空间不足和过于频繁地使用内存交换从而使服务器的主机频繁的死机,卡死,宕机等。可能会有以下的3种情况导致内存过高而使io过高宕机: 1、内存空间不足而造成无法加载应用 让一台没有足够内存的服务器去加载应用,这会出现内存短缺的情况,服务器会在缓冲区显示相对有限的内存数量,相应地,交换空间也使用得多。最简单的方法就是添加更多内存。不过优化Linux内存交换也能提升性能。确保不活跃内存页尽早交换出去,为所需的内存页腾出空间。 2、缓存文件时内存空间不足 如果你感觉缓存文件可能会出现内存不足的话,按照下面方法计算:如果可用缓存与缓存内存低于总RAM的30%,那么服务器可能遭遇内存不足。接下来检查 cat /proc/meminfo的内容。如果不活跃(文件)内存总量明显高于缓存总量,那么服务器没有足够可用内存去缓存文件。在释放更多缓存时,首先查明是何种原因导致短缺。 如果Linux载入的程序要求太多内存的话,只有添加更多物理RAM内存。然而,使用内存的系统其它部分也可能导致缓存短缺。例如,将修改后的文件提交到磁盘可能需要很长时间。如果是这样,你会在头个程序中在iostat看到一个相对高的wa(等待I/O)参数,在/proc/meminfo会看见Dirty参数有个相对比较高的值。如果是这样,修改磁盘性能是关键,能获得更好的内存性能。 3、内存交换用得太频繁 如果交换用得太多,使用vmstat监控工具会显示高si与so(换进与换出)动作。交换空间几乎填满,服务器可能的免费内存很低。 为了优化Linux内存,首先调查交换频繁的根源。通常,如果只有不活跃内存在交换区,那就不该有压力。在/proc/meminfo中,看交换量是否用得比不活跃内存的量还多。如果是,活跃内存页交换得很好,就算Linux内核需要经常访问活跃内存页。系统需要更多物理内存。 如何让服务器开始快速交换? 使用如下命令:echo 80 > /proc/sys/vm/swappiness。同时,使用下面语句:vm.swappiness = 80,将参数写入the /etc/systcl.conf file中。
|