- 浏览: 239222 次
- 性别:
- 来自: 北京
文章列表
system:
Lmbench unixbench5.1.2 ubench freebench nbench ltp
xfbsuite
http://www.hermit.org/Linux/Benchmarking/
geekbench
IO:
bonnie++ bonnie bonnie64 iozone iometer dbench piozone tiozone
CPU:
nbench
network:
netperf NetBench nfsstone netio nepim iperf NetIQ Chariot webbench
Mysql
sysbench ...
下面我们再来在 C++类中内存分布情况。
class c1
{
public:
static int nCount;
int nValue;
char c;
c1();
virtual ~c1();
int getValue(void);
virtual void foo(void);
static void addCount();
}
我们可以通过 sizeof()得到 c1 对象的大小为 12 个字节。
1、 函数 c1,~c1(),getValue,foo,addCount ...
静态库链接时搜索路径顺序:
1.ld会去找GCC命令中的参数-L
2.再找gcc的环境变量LIBRARY_PATH
3.再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程序内的
动态链接时、执行时搜索路径顺序:
1.编译目标代码时指定的动态库搜索路径;
2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
4.默认的动态库搜索路径/lib;
5.默认的动态库搜索路径/usr/lib。
有关环境变量:
LIBRARY_PATH环境变量:指 ...
(1)在安装之前,发现nepim需要liboop的支持,所以不得不去下载这个库文件并安装
http://download.ofb.net/liboop/liboop.tar.gz
上面是下载地址,然后下来的是源码,需要自己编译,一点都不符合低碳环保,汗!
那么,就到目录下
./configure
make
make install
安装后,liboop会把动态链接库文件散列到/usr/local/lib目录下,一些头文件复制到/usr/local/include下。
(2)liboop安装成功之后,就要来安装nepim了。先进入Makefile,你会发现默认的Makefile中的映射lib ...
下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的:
rc.sysinit中有这样的一段代码:
# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
# Load modules (for backward compatibility with VARs)
if [ -f /etc/rc.modules ]; then
/etc/rc.modules ...
OSMSG.com 写道 "国外知名网站 stackoverflow 上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了 153,432 人访问,读者共推荐出了 478 本书(还在增加),其中最火的一 ...
关于豆瓣的系统架构图,首先我们在Web server上做个划分,把网站内容分为动态内容和静态内容。在豆瓣上所有的html都是动态内容,图片都是静态内容。分成两个Web 服务可以做不同的调优。 对动态内容,我们用的是nginx和lighttpd ...
1.建立和运行shell程序
什么是shell程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=${PATH}:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)
(2)#sh file
(3)# . f ...
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修功课之一。
Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shel ...
配置文件和所有插件下载:
http://www.mediafire.com/?kgjy0dbdsxn
目地:
当初之所以发布此史上最强vim配置文件的更新版,是因为我要在好多台电脑上,不同的开发环境(不同版本的vi,不同的操作系统)下工作,我希望这个vimrc文件能够在任何情况下都可以使vim正常启动,开始工作,哪怕所有的插件和软件都没装。
说明:
在vim7.1, vim 5.8中测试ok
更新:
1. 去掉了一些影响效率的设置。比如nice statusbar,nice title。
如果你要恢复这些效果也很容易。把第一行代码let performance_mode=1改成let p ...
在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。
在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:
$vi ~/.vimrc
设置完后
$:x 或者 $wq
进行保存退出即可。
下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:
“双引号开始的行为注释行,下同
“去掉讨厌的有关vi一致性模式,避免以前版 ...
pktgen的安装与使用
系统环境:fefora core 12
如果你和我一样,在pktgen面前是个新人。是不是也曾遇到下面的问题:
(1)以为pktgen和tcpdump一样是Linux下的工具软件;
(2)后来,明白了pktgen不是工具,而是内核模块,但是不知道如何加载;
(3)加载后,却不会使用,并且一度一位pktgen无法与网络接口eth0建立映射关系;
那么,我写下的东西可能对你学习pktgen有所帮助。因为,我也在google上搜了一同,却没有很好的对于pktgen讲解的文档。
A 首先,pktgen是Linux下的一个内核模块,并不是工具软件。所以,不能通过在命令行输 ...
为搞清楚如何在系统启动时自动加载模块,搜索了好久,网上有很多人提出这个问题,但都没有正确的答案,无论是中文社区还是英文社区,大家的回答都没有讲到点子上,无非是围绕modprobe.conf、modprobe讲来讲去的,要不就是针 ...
这里我仅使用了最简单的代码HelloWorld
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_EMERG "Hello World enter!\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_EMERG "Hello world exit!\ ...
内核模块
Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载:
(1)直接编译进Linux内核,随同Linux启动时加载;
(2)编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命令类似, ...