自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (4)
  • 收藏
  • 关注

转载 geohash算法原理及实现方式

geohash算法原理及实现方式1、geohash特点2、geohash原理3、geohash的php 、python、java、C#实现代码4、观点讨论 w微博:http://weibo.com/dxl0321geohash有以下几个特点:首先,geohash用一个字符串表示经度和纬度两个坐标。某些情况下无法在两列上同时应用索引 (例如MySQL 4之前的版本,Goo

2015-02-11 15:51:09 536

转载 最好的GIT教程

如题。http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2014-09-25 10:45:55 494

转载 SSH 端口转发

From: http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/

2014-04-15 14:43:39 876

转载 Unix/Linux 磁盘 I/O 性能监控命令iostat

Unix/Linux 磁盘 I/O 性能监控命令iostat磁盘 I/O 性能监控指标和调优方法 在介绍磁盘 I/O 监控命令前,咱们需要相识磁盘 I/O 性能监控的指标,以及每个指标的所展现的磁盘某方面的性能。磁盘 I/O 性能监控的指标主要包括: 指标 1:每秒 I/O 数(IOPS 或 tps) 对于磁盘来讲,一次磁盘的连续读或者连续写称为一次磁盘 I/O,

2013-02-18 17:25:56 762

转载 How Linux iostat computes its results

How Linux iostat computes its resultswith one commentiostat is one of the most important tools for measuring disk performance, which of course is very relevant for database administrators, wheth

2013-02-18 12:55:29 478

转载 理解MySQL——索引与优化

转自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要

2012-12-05 11:22:06 404

转载 volatile关键字用法

剖析为什么在多核多线程程序中要慎用volatile关键字?转: http://www.parallellabs.com/2010/12/04/why-should-we-be-care-of-volatile-keyword-in-multithreaded-applications/这篇文章详细剖析了为什么在多核时代进行多线程编程时需要慎用volatile关键字。主要内容有:

2012-09-07 13:36:47 888

转载 X Window 设定介绍

http://linux.vbird.org/linux_basic/0590xwindow.php#xwin在 Linux 上頭的圖形介面我們稱之為 X Window System,簡稱為 X 或 X11 囉! 為何稱之為系統呢?這是因為 X 視窗系統又分為 X server 與 X client ,既然是 Server/Client (主從架構) 這就表示其實

2012-07-04 11:27:26 1184

转载 压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate

From:http://blog.csdn.net/marising/article/details/5182771CPU Utilization 好理解,就是CPU的利用率,75%以上就比较高了(也有说法是80%或者更高)。除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的。 Load Aver

2012-06-08 10:46:49 455

转载 awk用法简介

From:http://www.jiayii.com/awk-tutorial/Linux文本处理工具有两款用的较多,sed&awk。sed是一款流编辑器,而awk是一门脚本语言。从功能上讲,awk可以完全取代sed;从速度上讲,awk一般要慢于sed。jiayi一直是awk的fans,现在就全面的介绍一下awk^_^概述awk 是一种编程语言,她是由AT&T 贝尔实验室的Alfr

2012-05-11 16:13:46 467

转载 Python字符编码详解

From: http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html1. 字符编码简介1.1. ASCIIASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有

2012-05-08 13:34:25 346

转载 MySQL:日期函数、时间函数总结(MySQL 5.X)

原文:http://www.cnblogs.com/she27/archive/2009/01/16/1377089.html2008年11月18日 15:37一、MySQL 获得当前日期时间 函数1.1 获得当前日期+时间(date + time)函数:now()mysql> select now();+---------------------+| now()

2012-04-23 23:39:16 375

转载 SSH Host Key Protection

This is the first in a series of articles on SSH in-depth. We start with looking at standard SSH host keys by examining the verification process to ensure you have not been the victim of an attack. Pl

2012-04-09 09:53:29 2727

转载 Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)

第一、Logger.getLogger()和LogFactory.getLog()的区别    1.Logger.getLogger()是使用log4j的方式记录日志;    2.LogFactory.getLog()则来自apache的common-logging包。common-logging组件:        Jakarta Commons Logging (JCL)提供的

2012-03-07 00:37:27 1056

转载 如何查看进程 IO 读写情况?

转自:http://www.vpsee.com/2009/08/monitor-process-io-activity/Linux Kernel 2.6.20 以上的内核支持进程 IO 统计,可以用类似 iotop 这样的工具来监测每个进程对 IO 操作的情况,就像用 top 来实时查看进程内存、CPU 等占用情况那样。但是对于 2.6.20 以下的 Linux 内核版本就没那么幸运了,根

2011-12-30 10:58:27 1633

转载 linux 系统负载高 如何检查?

linux 系统负载高 如何检查?2010-05-08 22:461:load Average   1.1:什么是Load?什么是Load Average?   Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a measure of the amount of work that a compute system is doin

2011-12-30 10:47:32 549

转载 Squid是什么,Squid工作原理是什么

Squid是什么  Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同

2011-12-22 09:20:28 813

转载 Thrift 简介

Thrift是一个跨语言服务部署框架,最初由Facebook于2007年开发,后于2008年进入Apache孵化器(Apache Incubator)。类似于SOAP,COM 和CORBA,Thrift通过定义一个中间定义语言和Thrift代码生成工具,生成指定语言的代码。目

2011-10-18 23:41:09 673

转载 Linux2.6支持超线程感知

Windows2008 R2开始支持NUMA和超线程感知,所以查了一下Linux,发现Linux 2.6版本也支持了。(转自:http://kerneltrap.org/node/391)Linux:  HyperThreading-Aware Scheduler

2011-10-11 16:04:06 755

转载 select,poll,epoll的内部机制调研

在百度文库中看到这个帖子,总体讲的不错,但是有点错误,所以转帖过来并加以改正。http://wenku.baidu.com/view/31f51d7da26925c52cc5bf4e.html另外在《Linux设备驱动程序》中也有关于poll,select和epoll在驱

2011-10-10 10:38:25 3133

原创 Linux系统调用是如何被信号终止的

在系统调用过程中,如果请求不能被立即满足,请求进程会进入TASK_INTERRUPTIBLE或者TASK_UNINTERRUPTIBLE状态。如果进程在TASK_INTERRUPTIBLE状态,那么如果进程收到一个信号,该系统调用会被终止,并返回相应的错误码(可能是EINTR,

2011-10-09 15:37:19 1247

转载 Apache MINA NIO模型

From: http://2006zhouxinfeng.blog.163.com/blog/static/5024021620115155106736/ 前一段在网上看到了“淘宝伯岩”([email protected])的一份关于Java NIO 网络编程的讲义《N

2011-09-29 11:11:37 1739

原创 Source insight如何显示全路径而非省略号

如题,到options -> preferences -> Display, 去掉"Trim long path names with ellipses"即可。

2011-09-28 11:21:09 1091

转载 Linux Log files and usage on Ubuntu

All logs are stored in /var/log directory under Ubuntu (and other Linux distro).Linux Log files and usage=> /var/log/messages : General

2011-09-27 09:39:22 470

转载 Receive packet steering

最近看了《Linux设备驱动程序》,《深入理解Linux内核》和《深入理解Linux网络》,里面都没有讲述如何将网卡中断分配到多CPU上处理的逻辑,就像Windows上的RSS功能,所以在网上搜索到下面的文章,完整的解答了这个问题。Contemporary networkin

2011-09-16 11:49:26 942

转载 关系型数据库到HBase的数据存储方式变迁

如今Bigtable型(列族)数据库应用越来越广,功能也很强大。但是很多人还是把它当做关系型数据库在使用,用原来关系型数据库的思维建表、存储、查询。本文以hbase举例讲述数据模式的变化。传统关系型数据库(mysql,oracle)数据存储方式主要如下:图一上图是

2011-09-14 09:38:52 852

转载 SIGBUS和SIGSEGV的区别

http://en.wikipedia.org/wiki/Bus_error

2011-09-07 14:49:13 503

原创 阻塞模式和异步模式的区别

本文试图讨论一下I/O模型中阻塞模式和异步模式的区别。 为了说明问题,我们首先讨论Linux read()/write()系统调用的流程。 以块设备为例,其I/O栈如下图所示(引自《深入理解Linux内核》)。当系统调用read()时, 调用进程会: 1.

2011-09-07 14:01:45 707

转载 C/C++中.bss段的解释

BSS(Block Started by Symbol)这个词最初是UA-SAP汇编器(United Aircraft Symbolic Assembly Program)中的一个伪指令,用于为符号预留一块内存空间。该汇编器由美国联合航空公司于20世纪50年代中期为IBM 704

2011-09-07 10:41:11 1426

原创 The Macro Expansion Process (Forwarded)

During the recent studying of boost library, the macro expansion seems a little mysterious and so I googled and got the following finding: http://www.boost.org/doc/libs/1_37_0/libs/wave/doc/macro_expansion_process.html. --------------------- The macro e

2010-08-14 10:07:00 728

原创 Windows Server 2008中核心堆结构的变化

前阵子一个偶然的机会碰到了一个wow64的crash dump,是在Windows Server 2008 R2上产生的,硬件平台是x64。在分析过程中发现,原来2008的核心堆结构有了很大的变化,所以这里总结一下。 在Windows Server 2003上,核心堆结构如下: lkd> dt nt!_heap    +0x000 Entry            : _HEAP_ENTRY    +0x008 Signature        : Uint4B    +0x

2010-08-05 10:16:00 1177

原创 各种内存名词的解释

最近经常碰到很多同事讨论各种内存相关的名词,我想在这里总结一下,希望有相同疑问的人能有所帮助。 讨论涉及到的名词如下: free memory reserved memory committed memory virtual memory private memory shared memory working set 1. free memory, reserved memory, committed memory 这三个名词是用来形容用户

2010-08-04 09:57:00 2238

原创 Windows内存对齐问题

最近操作系统开始从32位向64位升级,在升级驱动程序的时候发现一个严重的性能问题,后来发现是由于数据对齐引起的,所以查了一下与内存对齐相关的文章,发现了下面的链接: http://msdn.microsoft.com/en-us/library/83ythb65(v=VS.80).aspx http://msdn.microsoft.com/en-us/library/Aa290049 根据文章的内容,我们可以得到以下的摘要: 1. 如果不使用__declspec(align(#)),标量会按照

2010-08-03 11:50:00 1086

原创 如何修改栈结构统计每个DLL的函数使用信息

在文章如何Hook Windows API中,我们讨论了如何Hook Windows API。此种方式的结果是每个DLL都会跳转到相同的函数,所以不便实现针对每个DLL的函数使用信息。如果希望得到基于每个DLL的信息,可以通过修改栈的结构的方式实现。 假设现在要Hook的函数是: void __stdcall Func(int, int); 其调用时的栈结构如图1所示: 图1: Thunk对栈结构的调整 现在我们把Hook的函数替换成如下的thunk代码: #pragma pack(push

2010-08-02 14:38:00 658

原创 如何Hook Windows API

<br />相信大家一定经常碰到内存泄漏的问题,在诊断过程中常用的一个工具就是LeakDiag,该工具可以让用户制定要查看哪些堆中的内存分配情况。碰巧我在项目中也需要类似的功能,但是由于当时不知道有LeakDiag这个工具,所以自己开发了一个。这里把方法拿出来和大家分享一下,希望能对大家有所帮助。<br /> <br />其实此类工具都是将负责内存分配的API进行Hook,让相应的函数调用先到自己的函数中,在那里完成一些统计信息的记录,然后在把调用转到真正的内存分配函数,再把结果返回给原始调用者。<br /

2010-07-31 17:04:00 679

原创 如何在没有栈的情况下利用堆分析crash文件

我想大家平时拿到crash文件首先都会看看栈的调用情况,如果问题简单直接就能从栈上定位出问题。但是有的时候我们可能没有办法从栈上找到我们想要的信息,这个时候堆是一个很好的地方来找到我们需要的信息。下面的两个案例就是利用这个方法解决问题的。 1.        由于内存泄漏,程序终止。终止过程中,主线程栈已经析构,堆信息依然完整,这时出现crash。2.        对于打开优化编译选项的C++程序,当分析类的成员函数时,由于默认调用方式是__thiscall,this指针用ecx传递,所以当查看非顶端栈帧

2010-07-31 15:45:00 620

原创 如何配置LDAP over SSL

今天碰到一个关于IIS不能访问域服务器的问题。经过调查,发现是域控制器上的证书出了问题。网络环境:IIS服务器:IIS 6.0Windows Server 2003 SP2域控制器:Windows Server 2003 SP2域中只有一台域控制器,IIS服务器没有在域中。IIS通过LDAPover SSL和域控制器交互。问题定位:由于是第一次诊断AD相关问题,所以按着常规进行如下检查:Event Viewer中有Schannel的相关错误;使用非SSL的LDAP可以访问AD。所以问题应该是和SSL相关

2010-07-21 22:47:00 2515

原创 驱动程序无法加载分析

<br />最近项目中接连碰到几个和驱动加载相关的问题,所以我决定对这些问题做一个调研。 项目使用的驱动是一个Legency的NT式的协议驱动,驱动上边是标准的Legency的NT驱动接口,下边是NDIS接口,运行在Windows 2003 Server SP2上。出现的问题可以描述如下:1. 某些服务器上安装好项目使用的驱动之后不能启动驱动。2. 某些服务器上当驱动卸载之后必须重启才能启动重新安装的驱动。当使用net start <driver name>加载驱动的时候,都出现下列错误:System

2010-07-20 20:33:00 2841

原创 VS2003.NET打开优化选项后浮点运算错误

<br />我的开发环境是VS2003.NET,语言是C++,服务器是Windows2003 Server SP2。出错的代码很简单,伪代码如下: double a = <是一个很复杂的运算结果,值等于1.00000000000000000000011>;double b = <是一个很复杂的运算结果,值等于1.00000000000000000000013>;long c = (long)(a/b); 按着预期,上面的结果c应该等于1,但是在打开/o2优化之后,结果变成0,不打开优化结果正确。经过调研,发

2010-07-20 20:32:00 557

原创 IIS启用HTTP压缩之后,IE不能打开zip附件

<br />最近碰到一个问题,如标题所述,虽然经过分析,知道问题在哪里了,但是原因仍然不清楚,这里还是记录下来,做个备忘。 环境:Windows 2003 server SP2IIS6 现象:当按着下面链接启用IIS 6.0的HTTP Compression功能后,某些IE6或者IE8虽然可以下载zip格式的附件,但是用windows内置的zip解压功能却打不开文件。http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/

2010-07-20 20:31:00 2049

Hadoop权威指南(英文版第2版)

本书中文版就是垃圾,我不幸买了,大家要引以为戒,直接读英文版吧。

2011-09-29

Getting started with OpenVMS.pdf

学习VMS的好材料。由于我不是免费得到的资源,所以设置了1个资源分。

2010-07-26

Windows Internals (5th Edition)

Windows Internals (5th Edition) 深入解windows操作系统(第五版)

2010-07-20

Windows内存管理

《Windows内核原理与实现》的样章。主要描述windows内存管理的细节。

2010-05-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除