July 23, 2010
MySQL内存使用-线程独享
"对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外。\n从内存的使用方式MySQL 数据库的内存使用主要分为以下两类\n线程独享内存 全局共享内存 今天这篇文章暂时先分析 MySQL 中主要的 “线程独享内存” 的。\n在 MySQL 中,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量。\n**线程栈信息使用内存(thread_stack):**主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存。\n**排序使用内存(sort_buffer_size):**MySQL 用此内存区域进行排序操作(filesort),完成客户端的排序请求。当我们设置的排序区缓存大小无法满足排序实际所需内存的时候,MySQL 会将数据写入磁盘文件来完成排序。由于磁盘和内存的读写性能完全不在一个数量级,所 …"
July 21, 2010
监控工具mrtg,cacti,rrdtool,nagios,zabbix比较和安装
"cacti 是一个用 rrdtool 来画图的网络监控系统, 通常一说到网络管理, 大家首先想到的经常是 mrtg, 但是 mrtg 画的图简单且难看, rrdtool 虽然画图本领一流, 画出来的图也漂亮, 但是他也就是一个画图工具, 不像 mrtg 那样本身还集成了数据收集功能. cacti 则是集成了各种数据收集功能,然后用 rrdtool 画出监控图形. 其本身界面比起同类系统要漂亮不少. 推荐所有有监控需求的人都去研究一下.\ncacti 和 nagios 是不同功用的系统, nagios 适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是 cacti 没有或者很弱的. cacti 主要用途还是用来收集历史数据和画图, 所以界面比 nagios 漂亮很多.\nnet-snmp 是一套广泛使用在类 unix 系统上的 snmp 软件, 包含一套 snmp agent 框架 ,一个 snmpd 和 一堆 snmp 工具 , 其前身为 ucd-snmp. 关于 snmp 是什么, 以及如何配置的文章,网上搜一下有一堆一堆的. 在这里就不 …"
July 21, 2010
mysql从服务器出现的错误:Slave_SQL_Running: No(主-从)
"mysql服务器为主-从配置时,发现从MySQL Slave未和主机同步,查看Slave状态:\nmysql\u0026gt; show slave statusG Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 1062 …. Seconds_Behind_Master:NULL\n原因: 1.程序可能在slave上进行了写操作 2.也可能是slave机器重起后,事务回滚造成的.\n解决办法I: 1.首先停掉Slave服务:slave stop 到主服务器上查看主机状态: 记录File和Position对应的值。 3.到slave服务器上执行手动同步:\nmysql\u0026gt; show master status; +——————+———–+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———–+————–+——————+ | mysql-bin.000020 | 135617781 | | | …"
July 20, 2010
学会使用Linux性能分析工具
"Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。 在Linux下有很多系统性能分析工具,比较常见的有top、free、ps、time、timex、uptime等。下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。\n用vmstat监视内存使用情况\nvmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。\nvmstat的语法如下:\nvmstat [-V] [-n] [delay [count]] 其中, -V表示打印出版本信息; -n表示在周期性循环输出时,输出的头部信息仅显示一次; delay是两次输出之间的延迟时间; count是指按照这个时间间隔统计的次数。 对于vmstat输出各字段的含义,可运行man vmstat查看。\n用iostat …"
July 20, 2010
mysqlbinlog:处理mysql binlog二进制日志文件的实用工具
"服务器生成的二进制日志文件写成二进制格式。要想检查这些文本格式的文件,应使用mysqlbinlog实用工具。 应这样调用mysqlbinlog:\nshell\u0026gt; mysqlbinlog [options] log-files… 例如,要想显示二进制日志binlog.000003的内容,使用下面的命令:\nshell\u0026gt; mysqlbinlog binlog.0000003 输出包括在binlog.000003中包含的所有语句,以及其它信息例如每个语句花费的时间、客户发出的线程ID、发出线程时的时间戳等等。\n通常情况,可以使用mysqlbinlog直接读取二进制日志文件并将它们用于本地MySQL服务器。也可以使用–read-from-remote-server选项从远程服务器读取二进制日志。\n当读取远程二进制日志时,可以通过连接参数选项来指示如何连接服务器,但它们经常被忽略掉,除非你还指定了–read-from-remote-server选项。这些选项是–host、–password、–port、–protocol、–socket和–user。\n还可以使用mysqlbinlog来读 …"
July 20, 2010
推荐一个很强的PHP图片处理(含缩图)类
"这是目前我找到功能最强大的缩图类了,功能很全,代码写得也很规范。但智能裁切还需要完善一下,现在只能智能裁正方形,要能裁长方形才好。\n下载:\nthumb_class.php\n/**\n* 基本图片处理,用于完成图片缩入,水印添加\n* 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小\n* 水印图可以设置跟背景的合并度\n* Copyright(c) 2005 by ustb99. All rights reserved\n* To contact the author write to {@link mailto:[email protected]}\n@author 偶然\n@version $Id: thumb.class.php,v 1.9 2006/09/30 09:31:56 zengjian Exp $\n@package system\n*/\n/**\nThumbHandler\n@access public\n*/\n/*\n使用方法:\n自动裁切:\n程序会按照图片的尺寸从中部裁切最大的正方形,并按目标尺寸进行缩略\n$t-\u0026gt;setSrcImg(“img/test.jpg”); …"
July 20, 2010
PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
"使用PHP来处理一下图片,还是不错的,下面是找到的一个PHP处理图片的类,可以实现图片的缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、 反色功能操作,够强大吧。文章比较长,所以分页显示,可以一页页复制代码整合就可以使用了。’没有找到相 关图片!’ );\n/* 构造函数:函数初始化 */ function __construct($PICTURE_URL){\n$this-\u0026gt;get_info($PICTURE_URL);\n} function get_info($PICTURE_URL){ /* 处理原图片的信息,先检测图片是否 存在,不存在则给出相应的信息 */ @$SIZE=getimagesize($PICTURE_URL); if(!$SIZE){ exit($this-\u0026gt;ERROR[‘unalviable’]); }\n//得到原图片的信息类型、宽度、高度 $this-\u0026gt;PICTURE_MIME=$SIZE[‘mime’]; $this-\u0026gt;PICTURE_WIDTH=$SIZE[0]; $this-\u0026gt;PICTURE_HEIGHT=$SIZE[1]; …"
July 19, 2010
基于Ubuntu平台的nagios快速指南
"4.6.1. 介绍 本指南试图让你通过简单的指令以在20分钟内在Ubuntu平台上通过对Nagios的源程序的安装来监控本地主机。没有讨论更高级的设置项-只是一些基本操作,但这足以使95%的用户启动Nagios。\n这些指令在基于Ubuntu6.10(桌面版)的系统下写成的。\nWhat You’ll End Up With\n如果按照本指南安装,最后将是这样结果:\nNagios和插件将安装到/usr/local/nagios\nNagios将被配置为监控本地系统的几个主要服务(CPU负荷、磁盘利用率等)\nNagios的Web接口是URL是http://localhost/nagios/\n4.6.2. 所需软件包 确认你安装好的系统上已经安装如下软件包再继续。\nApache2\nGCC编译器与开发库\nGD库与开发库\n可以用\napt-get 命令来安装这些软件包,键入命令:\nsudo apt-get install apache2 sudo apt-get install build-essential sudo apt-get install libgd2-dev 4.6.3. 操作过程 1)建 …"
July 16, 2010
Linux中cp直接覆盖不提示的方法
"Linux中cp直接覆盖不提示的方法\n新做了服务器,cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,这在大量cp覆盖操作的时候是不能忍受的。。。\n把a目录下的文件复制到b目录\ncp –r a/* b\n执行上面的命令时,b存在的每个文件都会提示是否覆盖;\ncp –r –f a/* b\n执行上面的命令时,b存在的每个文件都不再会提示;\n这是我们希望的理想状态,但是有时加了-f了,怎么还会有提示呢?原来一些服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。\n在终端执行alias就可以看出来了。\n[root@devdb ~]# alias\nalias cp=’cp -i’\n可以这样解决\n[root@devdb ~]# vi ~/.bashrc\n在alias cp=’cp -i’前加上”#”注释掉这行,:wq!保存推出,然后重新登陆就可以了。"
July 16, 2010
Linux上查看目录大小
"查看目录大小du\ndu -sh dirname\n-s 仅显示总计 -h 以k、m、g为单位,提高信息的可读性。kb、mb、gb是以1024为换算单 位, -h以1000为换算单位\n以下是刚装好的RH9.0(全部) Linux目录大小参考: /usr 4.5G /usr/share 2.2G /usr/src 189M /usr/games 3.9M /usr/X11R6 173M /usr/lib 1.5G /usr/include 91M /usr/bin 258M /var 250M /var/www 130M"