Kagoya vps 1G方案测试

Kagoya是日本少数支付境外用户购买的VPS商家,基于OpenVZ技术。今天购买了Kagoya 1G方案(最低套餐)的VPS,价格为840日元,折合人民币56元左右。配置是3核、1G内存(Burst到2G),200G硬盘。以下是一些测试数据:

1,PING测试
全国范围有不同程度的掉包,甚至从美国、香港PING过去依然会掉包。看来线路的确很烂。

两张17CE测试图(点击可放大),测试时间为下午4点左右。
17ce测试

17ce测试

补充:晚上19:30再次测试了一下,北京电信PING值高达300-500ms。

2,网络、硬盘测试
网络非常一般,硬盘灰常给力! 继续阅读

Linux编写内核模块实例

本文演示了Linux加载内核模块(驱动)的过程,文中实验环境为CentOS 5.9 64bit。

1,准备工作
安装基础软件包

yum install kernel-devel.x86_64 gcc.x86_64 gcc-c++.x86_64

然后会在/usr/src/kernels/下面安装好内核源码包,最好把目录的名字改一下,以便能够与/lib/modules/$(uname -r)/目录相响应,避免/lib/modules/$(uname -r)/目录中有一些软链接找不到内核源码包位置

mv /usr/src/kernels/2.6.* /usr/src/kernels/$(uname -r)-x86_64

2,加入内核模块(驱动)
进入字符设备驱动目录

[root@localhost ~]# cd /usr/src/kernels/$(uname -r)-x86_64/drivers/char
[root@localhost char]# mkdir mycdev    #建立驱动目录
[root@localhost char]# cd mycdev/
[root@localhost char]# cat /proc/devices   #找一个未使用的字符设备主设备号,比如199,记好
[root@localhost mycdev]# vim mycdev.c    #建立内核态设备驱动程序,内容见下方
[root@localhost mycdev]# vim Makefile    #建立Makefile文件,内容见下方

继续阅读

Linux查看系统IO

Linux查看IO的工具主要有两个,iostat(集成于sysstat包中)和iotop。前者经常用于查看分区的IO情况,后者常用来查看每个进程的IO占用。

[root@bogon ~]# yum install sysstat
[root@bogon ~]# iostat -x 1       #每隔一秒显示一次
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
dm-0              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
dm-1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
hdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00

继续阅读

Linux内核调拭之printk用法(2)

本文演示了一下printk的基本用法,实验环境为CentOS 5.9 64bit

1,下载内核源码
下载地址是https://www.kernel.org/pub/linux/kernel/v2.6/
CentOS 5.9用的是2.6.18版,CentOS 6用的是2.6.32,下载对应版本的内核文件就可以了

# wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.gz
# tar -zxvf linux-2.6.18.tar.gz
# cd linux-2.6.18

2,修改内核

vim init/main.c  

查找start_kernel,在大约456行有如下内容:
……
asmlinkage void __init start_kernel(void)
{
        char * command_line;
        extern struct kernel_param __start___param[], __stop___param[];

        smp_setup_processor_id();

        /*  
         * Need to run as early as possible, to initialize the
         * lockdep hash:
         */
        lockdep_init();
……

系统从start_kernel()函数开始启动。所以我们要把printk()添加到这个函数里 继续阅读

CentOS5安装配置OpenVZ

CentOS5安装配置OpenVZ的过程,网上的教程大多都有问题,所以这里还是亲自记录一下吧。系统环境为CentOS 5.9 64bit

请linuxde点net转载本博客文章的时候加上链接http://www.zhukun.net/archives/6658/

1,事前准备

将系统内核升级到2.6.18.308.8.2.el5以上,否则不受支持
# yum install kernel.x86_64

调整内核参数
# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
kernel.sysrq = 1
...

关闭selinux
# vi /etc/sysconfig/selinux
...
SELINUX=disabled
...

2,安装OpenVZ 继续阅读

Linux内核调拭之printk用法

内核通过 printk() 输出相关信息,在调用 printk() 函数时必须要指定日志级别。

在 include/linux/kernel.h 中定义了如下几个日志级别

#define	KERN_EMERG	"<0>"	/* 系统崩溃 */
#define	KERN_ALERT	"<1>"	/* 必须紧急处理 */
#define	KERN_CRIT	"<2>"	/* 临界条件,严重的硬软件错误 */
#define	KERN_ERR	"<3>"	/* 报告错误 */
#define	KERN_WARNING	"<4>"	/* 警告 */
#define	KERN_NOTICE	"<5>"	/* 普通但还是须注意 */
#define	KERN_INFO	"<6>"	/* 信息 */
#define	KERN_DEBUG	"<7>"	/* 调试信息 */

这里也可以看出数值越小,其紧急和严重程度就越高。

printk()用法

printk(<2> "Hello, world!\n");          /* 直接用数字指定日志级别,用尖括号括起来 */
printk(KERN_ALERT "Hello, world!\n");   /* 也可以这么用 */

继续阅读

Linux grep命令用法

一直以为grep只能进行单个文件的筛选,今天才发现,它可以进行多个文件的筛选。这个功能真是太强大了。还是记录一下吧。

假设我要找一个start_kernel函数,但我不知道此函数在哪个文件里,于是可以用如下命令:

grep -wrI "start_kernel" ./*

以下是一些其它的用法,也记录一下,算是巩固吧

grep命令主要参数:

-c:只输出匹配行的计数。
-I:不处理二进制文件
-i:不区分大小写(只适用于单字符)。
-r:递归处理目录下的所有文件。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-w:包含正则表达式。

继续阅读

第 20 页,共 31 页« 最新...10...181920212223...30...最旧 »