$ free 5 10 total used free shared buffers cached Mem: 2061552 2043500 18052 0 2380 1848308 -/+ buffers/cache: 192812 1868740 Swap: 4192924 700 4192224 $top 16:18:54 up 39 days, 12:27, 1 user, load average: 6.80, 5.48, 4.24 76 processes: 75 sleeping, 1 running, 0 zombie, 0 stopped CPU states: cpu ...
原作者姓名 Fang(fangguicheng@21cn.com) 异步io、APC、io完成端口、线程池与高性能服务器之一 异步io 背景:轮询 Pio DMA 中断 早期io设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍io设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能的迅速提高,这种效率低下的工作方式浪费了大量的CPU时间。因此,中断工作方式开始成为普遍采用的技术。这种技...
以下问题均是指X86平台 我在看LDD3时了解到外设的内存和端口都可以映射到RAM的地址空间。如果没理解错外设的端口应该用void *ioport_map(unsiged long port,unsigned int count)映射的到AM地址空间,而外设内存应用struct resource *request_mem_region(unsigned long start,unsigned long len,char* name)。我看了一下源代码,ioport-map只是把外设端口+128K这样来完成映射,因此当使用ioread8这样的函数时可以判断出是io端口...
环境:P570 4个双核CPU,12G内存,安装两个数据库实例,共分配5GSGA区内存,上面还跑了一些Java的应用。目前看磁盘非常繁忙,异步io进程过多(aioserver已经达到最大值80个),剩余内存不足10M,换页空间12G,占用50%以上。 请教如何进行调整才能解决性能问题 共享内存占用情况如下: >ipcs -b /dev/mem 的 IPC 状态为 公元2008年04月10日 星期四 16时23分44秒 T ID KEY MODE OWNER GROUP QB...
关于io端口,io内存的分配函数到底有什么用,看了别人写的一些驱动,没用到io端口的申请函数request_region,我原以为像键盘等这样的驱动程序会用到io端口分配函数,结果也没用到。 请高手指点,这两个函数到底在哪里会用到
最近需要写点程序直接操作软盘(不用中断), 比如我要读第2磁道的第1扇区,这些I/O地址都该怎么设? 我网上搜了半天只找到IDE的一些资料讲的是1f0-1f7的设置, 软盘对应的0x3f2-0x3f7是干什么的没找到, 那位知道的帮帮忙说明一下。
小弟写一个查重程序,需要load 30000000(3千万)条记录进行查重,文件有2.5G,我的思路大概如下: 1.load文件,只load关键字(是一个电话号码),以及该行记录的offset(文件位移量)以作索引 2.对这些记录进行排序,只排序索引而不是整条记录 3.对排好序的记录进行查重,一条条的输出到文件 我先做了测试,测试结果大概如下: 记录数 时间 100万 4s 第一个步骤load文件用不到1s,第二个步骤排序用不到1s,第三个步...
测试脚本: #!/usr/bin/perl use strict; use io::Socket; use LWP::UserAgent; use threads; my $host = "bbs.chinaunix.net"; my $html = ""; my $use = "LWP"; # 这里填 LWP 或 Socket,分别测试 LWP 和 Socket 在 threads 下的工作情况 my $uselock = "lock.txt"; # 为了测试加锁,限制只开一条线程 unlink ("$uselock"); while( 1 ){ if (!-e "$uselock") { my $thread = threads->create('test'); $thread->de...