数学物理方法

计算机视觉,自然语言处理,流媒体服务器,分布式架构,机器学习算法

内核页表和进程页表

初学内核时,经常被“内核页表”和“进程页表”搞晕,不知道这到底是个啥东东,跟我们平时理解的页表有和关系。。 内核页表:即书上说的主内核页表,在内核中其实就是一段内存,存放在主内核页全局目录init_mm.pgd(swapper_pg_dir)中,硬件并不直接使用。 进程页表:每个进程自己的页表,放...

2018-01-17 00:09:15

阅读数 287

评论数 0

linux内存管理——kmalloc和vmalloc

直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。 动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmalloc分配的线性地址所对应的物理页可能处...

2018-01-15 20:32:26

阅读数 87

评论数 0

IO模型(select, poll, epoll的区别和原理)

参考《unix网络编程》 参考http://blog.csdn.net/blueboy2000/article/details/4485874 参考http://blog.csdn.net/suxinpingtao51/article/details/46314097 五种I/O模型 阻...

2018-01-15 20:31:33

阅读数 95

评论数 0

Linux服务器文件描述符最大值修改

文件描述符的有效范围是 0 到 OPEN_MAX。Linux 2.4.22 强制规定最多不能超过 1,048,576 。   文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件。文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称...

2018-01-15 20:31:05

阅读数 212

评论数 0

UNIX环境高级编程》笔记--getrlimit和setrlimit函数

每个进程都有一组资源限制,其中一些可以使用getrlimit和setrlimit函数进行查询和修改。 [cpp] view plain copy #include   int getrlimit(int resource, struct rlimit *rptr);  int set...

2018-01-15 20:30:38

阅读数 273

评论数 0

epoll使用详解(精髓)

epoll - I/O event notification facility 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率...

2018-01-15 20:29:31

阅读数 107

评论数 0

结构体中最后一个成员为[0]或[1]长度数组(柔性数组成员)的用法

结构体中最后一个成员为[0]长度数组的用法:这是个广泛使用的常见技巧,常用来构成缓冲区。比起指针,用空数组有这样的优势:(1)、不需要初始化,数组名直接就是所在的偏移;(2)、不占任何空间,指针需要占用int长度空间,空数组不占任何空间。“这个数组不占用任何内存”,意味着这样的结构节省空间;“该数...

2018-01-15 20:29:06

阅读数 170

评论数 0

C语言中长度为0的数组

前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该问题进行简单的讲解。废话不多说了,现在就开始。 长度为的数组在标准c和c++中是不允许的,...

2018-01-15 20:28:22

阅读数 83

评论数 0

Linux下select, poll和epoll IO模型的详解

一).Epoll 介绍 Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。其实在 Linux 下设计并发网络程序,向来不缺少方法,比如典型的 A...

2018-01-15 20:28:03

阅读数 109

评论数 0

基于select模型的TCP服务器

之前的一篇博文是基于TCP的服务器和客户机程序,今天在这我要实现一个基于select模型的TCP服务器(仅实现了服务器)。 socket套接字编程提供了很多模型来使服务器高效的接受客户端的请求,select就是其中之一。 了解select模型我们先来看一下的代码: int iResult = re...

2018-01-15 20:27:40

阅读数 92

评论数 0

linux select 多路复用机制

函数作用: 系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1...

2018-01-15 20:27:11

阅读数 78

评论数 0

Select模型原理

Select模型原理 利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数据。目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据,被迫进入阻塞状态。   select参数和返回值意义如下: int select (  IN int...

2018-01-14 20:21:16

阅读数 117

评论数 0

Linux学习笔记之——su、sudo命令使用及区别

Linux学习笔记之——su、sudo命令使用及区别           摘要:主要对su、sudo命令的功能进行介绍和两者之间的区别。以及使用方式   一:两者之间的区别           su用于用户之间的切换。         sudo用于普通用户可以使用root权限来执行指定命令。   ...

2018-01-14 20:20:28

阅读数 116

评论数 0

Linux top命令的用法详细详解

以下是对Linux中top命令的用法进行了详细的介绍,需要的朋友可以过来参考下 查看多核CPU命令 mpstat -P ALL  和  sar -P ALL    说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令经常用来监控...

2018-01-14 20:19:40

阅读数 115

评论数 0

Linux中kill,pkill,killall和xkill命令汇总讲解

终止一个进程或终止一个正在运行的程式,一般是通过 kill 、killall、pkill、xkill 等进行。比如一个程式已死掉,但又不能退出,这时就应该考虑应用这些工具。 另外应用的场合就是在服务器管理中,在不涉及数据库服务器程式的父进程的停止运行,也能用这些工具来终止。为什么数据库服务器的父进...

2018-01-14 20:18:21

阅读数 252

评论数 0

【Linux】关于路由跟踪指令traceroute

本文所有命令实施的大前提是:你现在能够上网。 稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这个IT网站csdn来测试一下,则得到如下效果: 但是...

2018-01-14 20:17:58

阅读数 145

评论数 0

sysctl: 深入使用Linux的必经之路

设置Sysctl.conf用以提高Linux的性能 Sysctl是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。基于这点,sysctl(8) 提供...

2018-01-14 20:17:39

阅读数 120

评论数 0

用sysctl调整linux内核参数

sysctl是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。 常用 查看所有可...

2018-01-14 20:17:16

阅读数 225

评论数 0

【Linux】tcp缓冲区大小的默认值、最大值

Author:阿冬哥 Created:2013-4-17  Blog:http://blog.csdn.net/c359719435/ Copyright 2013 阿冬哥 http://blog.csdn.net/c359719435/ 使用以及转载请注明出处 ...

2018-01-14 20:16:52

阅读数 553

评论数 0

高性能网络编程7--tcp连接的内存使用

当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVBUF这样的接口来设置连接的读写缓存,linux上还提供了以下系统级的配置来整体设置服务器上的TCP内存使用,但这些配置看名字却有些互相冲突...

2018-01-14 20:16:19

阅读数 120

评论数 0

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