易截截图软件、单文件、免安装、纯绿色、仅160KB

使用tcmalloc后的MySQL服务器变稳定了(Linux)

之前,一直困恼很久的MySQL的问题因为有了tcmalloc后得以解决。
问题是:网站访问量不高,高峰时并发数在300-400之间。CPU比较高,在30-80%之间波动得厉害,使用top命令可以看到是mysql进程导致,同时用iostat和sar查看iowait值很高在20-30之间。
但是系统还可以稳定运行,然后周期性的出现swap分区占用率攀升,直接导致应用程序无法连接数据库。不知道这是不是mysql的swap颠簸的问题。没解决办法的时候只好经常监控内存的使用情况,碰到swap开始攀升的时候重启MySQL服务。一般这个周期在一个星期左右。
后来在网上搜到了tcmalloc,说是这个东西可以让MySQL在高并发下性能也很稳定,同时也说了MySQL这个问题是因为malloc内存分配函数的bug,这个bug会使高并发的MySQL性能急剧下降。
决定试试。
系统是64位的RedHat Enterprise Linux 5.0 。在64位系统下需要安装另外一个包libunwind。然后下载tcmalloc包,按默认方式编译和安装成功后在 mysqld_safe 中加入
LD_PRELOAD="/usr/local/lib/libtcmalloc.so"
重启MySQL。没有办法可以验证tcmalloc是否起效,只能再继续监控系统的运行状况。
经过一个多礼拜了,你可以看看下面一个抓自mrtg的图:
上面两个图中,第一个是CPU的图,第二个是内存的图。可以看出从换上tcmalloc后,CPU占用率下降非常明显,原来一直维持在30%左右,现在只占不到10%。而内存方面,原来物理内存一直占用100%,swap占用率波动得很厉害,下降点一般是重启MySQL后导致的,而换上tcmalloc后,内存维持在80-90%之间,而swap占用率就非常稳定,可以按零计。
而且已经持续了一个多礼拜了。可以说效果相当相当的明显,非常令人满意。再也不用老去盯着mrtg看了。当然这是我的机器上现实的情况,不知道其他系统怎样。
libunwind: http://www.nongnu.org/libunwind/
tcmalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
详细的安装步骤:
#tar zxvf libunwind-0.98.6.tar.gz
#cd libunwind-0.98.6
#./configure
#make
#make install
#tar zxvf google-perftools-0.94.1.tar.gz
#cd google*
#./configure
#make
#make install
打开 mysqld_safe 脚本 (默认在/usr/bin/mysqld_safe)
在此脚本文件开始加入
LD_PRELOAD="/usr/local/lib/libtcmalloc.so"
#service mysql restart


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

ARM+Linux中无法响应ctrl+c是怎么回事

到最后还是自己解决了,导致该问题的原因是在linux启动到最后出现:
/bin/sh: can't access tty; job control turned off
而出现该错误的原因和解决方法google后有千百种,尝试了很多种都没有帮我解决问题。
下面是我自己的解决方法:
1. vi /etc/inittab 第一行添加
    console::sysinit:/etc/init.d ......

Moto Linux应用开发(五):frame buffer

moto linux支持framebuffer写屏,SDK中包含了一个sample,直接写framebuffer显示红色和绿色。不过在写framebuffer之前需要了解一下framebuffer的相关特性。以下是我的A1200e的framebuffer信息:
framebuffer info: bits_per_pixel(18), xres(240), yres(320)
非常奇怪的是,每个像素18个bits。上网查了一下,原来很多手机 ......

linux面试题参考答案(转)


一.填空题:
1. 在Linux系统中,以 文件

方式访问设备 。
2. Linux内核引导时,从文件
/etc/fstab
中读取要加载的文件系统。
3. Linux文件系统中每个文件用
i节点
来标识。
4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块

5.
链接分为: 硬链接 和 符号链接
......

Network Booting a Linux STB with PXE

Summary
PXE (Preboot eXecution Environment) is, in one persons words, Intel's attempt at making PCs work more like SUNs (
ref
). PXE
outlines a protocol for enabling the BIOS to retrieve the operating system over standard network protocols.
This document outlines the process of setting up a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号