易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

基于Linux的Socket网络编程的性能优化

基于Linux的Socket网络编程的性能优化
2009-10-23      嵌入式在线      收藏 | 打印
1 引言
    随着Intenet的日益发展和普及,网络在嵌入式系统中应用非常广泛,越来越多的嵌入式设备采用Linux操作系统。Linux是一个源代码公开的免费操作系统,具有强移植性,所以对基于Linux的Socket网络编程的研究越来越重要。
    Socket实际是网络传输层供给应用层的编程接口。传输层则在网络层的基础上提供进程到进程问的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一进程通信。Socket就是应用层与传输层之间的桥梁。如图2所示。
    使用Socket编程时可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过Internet在全球范围内进行通信。编写并运行 Socket的客户端和服务器端程序,双方通过套接字建立了服务连接请求,并且通过一些方法提高Socket的性能。
3 Socket编程
3.1 Socket类型
    常见的Socket有3种类型:
    (1)流式Socket(SOCK_STREAM)它提供可靠的通信流,使用面向连接的TCP协议,从而保证数据传输的正 ......

Linux Network Tuning Linux网络环境性能优化调整

Linux Network Tuning Linux网络环境性能优化调整
来源:cnbird2008的专栏 作者: 发布时间:2009-06-20 标签:linux linux性能优化 linux配置
 
(以前写的,当时用的RH Linux AS5.)
如下网络配置参数调整,主要是针对请求压力大的Linux (2.6 kernel)服务器而言.
如果服务器压力不大,那么维持默认即可.
 
下述内容取材于"Performance Tuning For Linux Server"一书.
 
$ /proc/sys/net/core/wmem_max
最大socket写buffer,可参考的优化值:873200
 
$ /proc/sys/net/core/rmem_max
最大socket读buffer,可参考的优化值:873200
 
$ /proc/sys/net/ipv4/tcp_wmem
TCP写buffer,可参考的优化值: 8192  436600  873200
 
$ /proc/sys/net/ipv4/tcp_rmem
TCP读buffer,可参考的优化值: 32768  436600  873200
 
$ /proc/sys/net/ipv4/tcp_mem
同样有3个值,意思是:
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
上述内存单位是页,而不是字节.
可参考的优化值是:786432  1048576 1572864
&n ......

linux 2.6源代码情景分析笔记之内存3

关于e820
   e820是BIOS的(int 0x15)中断关联的。在使用此中断时,ax中必须是e820(ireg.ax=0xe820;)。通过此中断可以得到内存的系统布局。通过do循环,每次得到一段。
/linux32/arch/x86/include/asm/e820.h
宏E820_MAP是struct e820entry数据结构的指针,存放在参数块中位移为0x2d0的地方。
#define E820MAP 0x2d0           /* our map */
#define E820MAX 128             /* number of entries in E820MAP */
#define E820NR  0x1e8           /* # entries in E820MAP */
#define E820_RAM        1
#define E820_RESERVED   2
#define E820_ACPI       3 /* usable as RAM once ACPI tables have been read */
#define E820_NVS        4//此项表明rom eprom flash存储器。
#define E820_UNUSABLE   5
#include <linux/types.h>
s ......

linux 2.6源代码情景分析笔记之内存4

--------------------------------------------------
几个宏:
PGDIR_SHIFT:确定页全局目录项能映射的区域大小的对数。此宏用于计算页全局目录中一个单独表项所能映射区域的大小。PGDIR_MASK用于屏蔽offset table,middle air,upper dir.字段的所有位。
#define PGDIR_SHIFT     22//当物理地址扩展机制(pae)被禁止时,当激活的时候,此时就为30位(12位偏移,9位表,9位中间目录)
#define PGDIR_SIZE      (1UL << PGDIR_SHIFT)//此时为2的22次方,4MB.当激活的时候,就是2的30次方,1GB.
#define PGDIR_MASK      (~(PGDIR_SIZE-1))//0xffc00000
PUD_SHIFT:确定页上级目录项能映射的区域大小的对数。此宏用于计算全局目录中的一个单独表项所能映射的区域大小。PUD_MASK用于屏蔽offset字段,table字段,中间层字段,upper dir字段的所有位。
#define PUD_SHIFT       PGDIR_SHIFT
#define PUD_SIZE        (1UL << PUD_SHIFT)
#define PUD_MASK  ......

Linux走在预装的大道上






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
        在本文中,
Linux

GNU/Linux
桌面系统的泛称,其典型代表是
Ubuntu
9.10
发行版。计算机预装
Linux
是人们多年来的梦想。如今,这个梦想终于实现了。此话当真?
 
     Ubuntu
9.10
中的各类程序
bugs
,目前还有
7

6
千个左右,呈现波浪式下降趋势。根据明显的道理,如果局限在某一特定款式的计算机硬件体系上,这种
bugs
总数将急剧下降。
Dell
公司内部有一支力量强大的测试团队,扫除程序
bugs
,实现完美预装,专门对付这种局面。近日,
Dell
推出
mini
10

mini
10v
两种新款式的上网本,预装
Ubuntu
9.10

Dell
修订版)桌面系统,被业内专家(如:
Steven
J. Vaughan-Nichols
)称为上网本之精品(见
Dell
官方网站)。
 
      Dell
的这两款新机型,采用
Intel
最新的低功耗
Pine
Trail
芯片组(
Atom
N450

1.66GHz
),可连续运行
10
小时(
6-Cell
电池),
11.1
英寸显示屏,
1GB ......

linux 2.6源代码情景分析笔记之内存5

在内存启动最开始时,bios的起主导作用,内核通过它来了解物理内存的情况。同时调用bios过程建立一组物理地址范围和其对应的内存类型。
通过函数machine_specific_memory_setup()函数来建立物理地址映射。此表可以获取,是内核在bios列表的基础上构建的;否则内核按照保守的缺省设置构建这张表:从0x9f(lowmemsize())到0x100(high_memory)号的所有页框都标记为保留。setup_memory函数构架这张表。
static unsigned long __init setup_memory(void)
{
        unsigned long bootmap_size, start_pfn, max_low_pfn;
        start_pfn = PFN_UP(init_pg_tables_end);
        find_max_pfn();
        max_low_pfn = find_max_low_pfn();
        bootmap_size = init_bootmem(start_pfn, max_low_pfn);
        register_bootmem_low_pages(max_low_pfn);
        reserve_bootmem(HIGH_MEMORY, (PFN ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [4475] [4476] [4477] [4478] 4479 [4480] [4481] [4482] [4483] [4484]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号