自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

转载 Linux Note – 通过ulimit和PAM来限制资源

ulimit是Shell内建指令,可用来控制shell进程或者shell子进程使用的系统资源。限制分为硬限制和软限制两种:-H 设置硬资源限制,硬资源限制用于控制软限制。限定一旦设置只有root用户可以增加硬限制,普通用户只能减少自己的硬限制大小。-S 设置弹性资源限制,弹性限制用于限制具体的用户或者进程。设置后普通用户可以增加,但是不能超过硬限制大小。如果不指定-S或者-H,那么弹性

2014-12-12 17:39:32 2442

转载 计算MP4文件播放时长的方法

计算MP4文件的播放时长,可以通过在mvhd box中去取得timescale和duration后计算得到:播放时长 = duration / timescale单位为秒(s)。下面先介绍mvhd的结构。Movie Header Atoms - MVHDMovie header atom定义了整个movie的特性,例如time scale和duration,

2013-02-22 17:37:38 2900

转载 inux内核学习之进程和线程

2010年8月15日,今天研究的是Linux的进程管理,昨天是内存寻址,感慨颇深啊,《深入理解Linux内核》这本书真是浪得虚名,根本没有说到问题的本质,一些概念的由来、定义、区别以及联系,技术的原理,运行过程,整体结构,各部分衔接等等问题统统没有说明白,甚至根本没说,全书都是Linux的数据结构,及各种变量,接口函数,却根本没说是什么,为什么。对于新手来说简直是灾难,我看完之后发觉什么都不知道,

2012-08-02 17:16:09 977

转载 SQL语句优化技术分析

SQL语句优化技术分析最近几周一直在进行数据库培训,老师精湛的技术和生动的讲解使我受益匪浅。为了让更多的新手受益,我抽空把SQL语句优化部分进行了整理,希望大家一起进步。一、操作符优化1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL

2012-06-11 16:14:54 442

转载 一些算法记录

http://wt.guolairen.com/20110517/n552112.shtml腾讯笔试题:const的含义及实现机制分析:  const的含义及实现机制,比如:const int i,是怎么做到i只可读的?  const用来说明所定义的变量是只读的。  这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。  初探编译器stati

2012-05-05 15:38:25 2031

转载 十道海量数据处理面试题与十个方法大总结

海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_

2012-04-28 19:37:49 1062 1

转载 背包算法

#define K 10#define N 10#include #include /**背包问题之贪婪算法  改进的背包问题:给定一个超递增序列和一个背包的容量,然后在超递增序列中选(只能选一次)或不选每一个数值,使得选中的数值的和正好等于背包的容量。  代码思路:从最大的元素开始遍历超递增序列中的每个元素,若背包还有大于或等于当前元素值的空间,则放入,然后继

2012-04-25 19:19:11 3023

转载 堆排序

/*    ary是存储记录的数组, start是需要调整为大顶堆的根记录下标, end是    它的最后一个叶子记录的下标。    注意,传入的start到end之间的记录,除去根记录,根记录的左右子二叉树都    是大顶堆, 要完全符合大顶堆的性质调用此函数才有效。    下面函数要做的就是调整以start为根记录,end为最后一个叶子记录的完全二叉树为大顶堆。

2012-04-24 14:27:21 447

转载 Linux系统调用--getrlimit/setrlimit函数详解

功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。用法:#include int getrlimit(int resource, s

2012-04-11 11:54:07 892

转载 Linux进程、线程模型,LWP,pthread_self()

一.定义关于进程、轻量级进程、线程、用户线程、内核线程的定义,这个很容易找到,但是看完之后你可以说你懂了,但实际上你真的明白了么?在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合和资源集合。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。线程

2012-03-28 17:10:01 12778

转载 linux wa%过高,iostat查看io状况

命令总结:1. top/vmstat 发现 wa%过高,vmstat b >1;  参考文章:1. 关于Linux系统指令 top 之 %wa 占用高,用`iostat`探个究竟最近测试一项目,性能非常不理想。老版本逻辑和功能都简单时,性能是相当的好!接口点击率是万级的。谁知修改后上不了百。    架设Jboss服务器,业务逻辑用Java处理,核心模块使用C++处理,使

2012-03-23 17:17:52 5453

原创 隐蔽的内存泄漏——pthread_create 属性设置不当导致

最近解决了一个隐蔽的内存泄漏问题,我们的进程是HA模式,用户不停的切换,会导致内存不停的增长,切换一次,再切回来内存便增加8M左右。原因就是是pthread_create后的僵死线程没有释放导致的内存持续增长。pthread_create (&thread, NULL

2011-09-02 15:36:07 8028 1

原创 C语言字符串操作函数记录

bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表头文件 #include定义函数 int bcmp ( con

2011-08-25 14:40:32 665

转载 Linux 下的I/o

Linux的I/O机制经历了一下几个阶段的演进:(1)同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。(2)同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。(3)

2011-08-03 11:40:08 633

转载 Darwin Streaming Server程序结构分析

Darwin Streaming Server是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。本文简述了程序的整个结构,目的是为了以后阅读及修改程序的方便。1. 前言

2011-08-01 17:37:35 2346

转载 select句柄数限制 及总结

connect中使用了select模型,有如下地方需要注意:我们提供的server api中有很多地方用到了select,特别是在等超时的时候,例如:fd_set recv_fds;int iNum= 0;if (m_iSocket 0) return -1;FD_ZERO( &

2011-07-26 11:17:00 5134

转载 linux进程cpu资源分配命令nice,renice,taskset

<br />进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。 <br />一、先看系统进程: top<br />PR 就是 Priority 的简写,而 NI 是 nice 的简写。这两个值决定了PR的值,PR越小,进程优先权就越高,就越“优先执行”。换算公式为:PR(new) = PR(old) + N

2011-04-20 09:23:00 1130

转载 linux下top命令参数解释

<br />top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。<br />top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48<br /> Tasks: 29 total,   1 running, 28 sleeping,   0 stopped,   0 zombie<br /> Cpu

2011-03-18 11:46:00 506

转载 select, poll和epoll的区别

select, poll和epoll的区别(转载) select()系统调用提供一个机制来实现同步多元I/O:#includesys/time.h>#includesys/types.h>#includeunistd.h>intselect(int n,fd_set *readfds,fd_set *writefds,fd_set

2011-03-05 17:00:00 548

转载 select和poll的用法

select()函数的作用<br />      系统调用select和poll的后端实现,用这两个系统调用来查询设备是否可读写,或是否处于某种状态。如果poll为空,则驱动设备会被认为即可读又可写,返回值是一个状态掩码<br />如何使用select()函数?<br />      select()函数的接口主要是建立在一种叫'fd_set'类型的基础上。它('fd_set') 是一组文件描述符(fd)的集合。由于fd_set类型的长度在不同平台上不同,因此应该用一组标准的宏定义来处理此类变量:

2011-02-18 09:28:00 482

转载 tcpdump 用法

  tcpdump 用法详解 收藏<br />tcpdump 采用命令行方式,它的命令格式为:<br />      tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]<br />          [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]<br />          [ -T 类型 ] [ -w 文件名 ] [表达式 ]<br />(1). tcpdump的选

2011-01-06 17:13:00 620

转载 僵尸进程

<br />1.僵尸进程概念:<br />僵尸进程(Zombie Process):就是已经结束了的进程,但是没有从进程表中删除。太多了会导致进程表里面条目满了,进而导致系统崩溃,倒是不占用其他系统资源。<br />在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没

2011-01-05 11:59:00 527

原创 创建进程库函数fork

<br />Unix操作系统提供了库函数fork来创建一个新的进程,本文分析一下fork调用背后发生了什么。<br />例如:<br />int pid = fork();<br />从fork函数返回,父进程(pid !=0)和子进程(pid=0)拥有相同的user-leverl context(包括data,text以及stack)的拷贝。fork函数的调用发生了下列一些列的操作:<br />1,它为新创建的子进程在process table分配了一个slot,并且为子进程分配了一个当前全局唯一的进程i

2011-01-05 11:58:00 590

转载 H.264 的句法和语义

H.264 的句法和语义在编码器输出的码流中,数据的基本单位是句法元素,每个句法元素由若干比特组成,它表示某个特定的物理意义,例如:宏块类型、量化参数等。句法表征句法元素的组织结构,语义阐述句法元素的具体含义。所有的视频编码标准都是通过定义句法和语义来规范编解码器的工作流程。句法元素的分层结构编码器输出的比特码流中,每个比特都隶属某个句法元素,也就是说,码流是由一个个句法元素依次衔接组成的,码流中除了句法元素并不存在专门用于控制或同步的内容。在H.264 定义的码流中,句法元素被组织成有

2010-11-15 16:22:00 1087

转载 视频格式和音频格式介绍

<br />MPEG<br />  Moving Picture ExpertGroup,即运动图像专家组格式,是以下MPEG-1、MPEG-2等视频格式的总称,VCD、SVCD、DVD就是这种格式。MPEG格式是运动图像压缩算法的国际标准,它采用了有损压缩方法从而减少运动图像中的冗余信息。<br />  MPEG的压缩方法保留相邻两幅画面绝大多数相同的部分,而把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的。<br /> <br />  MPEG-1<br />  常用扩展名:.mpg、.m

2010-11-11 11:24:00 1112

原创 FLV文件格式

------------------------------------------FLV文件开始处是一个FLV头。FLV头(FLV header)==============================Field        Type CommentSignature    UI8 Signature byte always 'F' (0x46)Signature    UI8 Signature byte always 'L' (0x4C)S

2010-11-08 11:52:00 6856 1

转载 位图 与 矢量图

<br />位图也称像素图像或点阵图像,是由多个点组成的,这些点被称为像素。位图可以模仿照片的真实效果,具有表现力强、细腻、层次多和细节多等优点。同时由于位图是由多个像素点组成,将位图图像放大到一定倍数时可看到这些像素点,也就是说位图图像在缩放时会产生失真。Adobe公司的photoshop 软件就是位图软件。<br /><br />矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上是由线段形

2010-11-05 10:29:00 641

原创 linux 下安装mysql方法

一. rpm 方式安装1.以rpm方式安装MySQL需要下面两个文件(版本自己选择):   MySQL-server-5.0.22-0.i386.rpm      MySQL-client-5.0.22-0.i386.rpm2.安装服务器端 在有两个rmp文件的目录下运行如下命令: [root@test1 local]# rpm -ivh MySQL-server-5.0.22-0.i386.rpm   显示如下信息。       warning: MySQL-server-4.0.16-0.i386.

2010-10-28 16:30:00 526

原创 在linux下设置环境变量 及 配置mount

设置变量的三种方法1.     在/etc/profile文件中添加变量【对所有用户生效(永久的)】用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。例如:编辑/etc/profile文件,添加CLASSPATH变量# vi /etc/profileexport CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib注:修改文件后要想马上生效还要运行# source /etc/profile不

2010-09-20 18:08:00 1347

转载 TCP序列号和确认号详解

<br />转自:http://blog.csdn.net/webnumen/archive/2007/03/26/1541330.aspx<br /><br />TCP序列号和确认号详解<br /><br />在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时

2010-08-18 19:16:00 38461 7

原创 一些概念记录

<br /> <br />1.网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?<br />1),进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。<br />2),线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。<br />两者都可以提高程序的并发度,提高程序运行效率和响应时间。<br />线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相

2010-08-10 11:47:00 581

原创 VMware虚拟机中安装VMWare-Tools

<br />既然是虚拟机,其硬件设备自然也是虚拟的,用常规方法当然无法正确安装“虚拟”设备的驱动程序。不过VMware提供了一个专门的工具——VMware Tools,来帮助正确地安装、设置虚拟显卡。<br /> <br />1.在启动虚拟机以后,鼠标依次单击VMware主界面上的“设定”选单→“VMware工具安装”选单项,然后在弹出的对话框里单击“Install”即可。<br />此时只是加载了VMware Tools(把VMware Tools光盘插入虚拟机的光驱中),还没有真正把它请进家门。<br

2010-08-10 09:52:00 440

原创 gcc 的一些命令记录

<br /><br /> <br />把GCC的编译信息重定向到一个文件中<br /> <br />“gcc -c test.c 2> error.txt, Unix下错误输出的ID一般为2”<br /> <br />gcc的编译流程分为四个步骤,分别为:<br />预处理(Pre-Processing)<br />编译(Compiling)<br />汇编(Assembling)<br />链接(Linking)<br /><br /><br />1) 预处理: (-E 只预处理

2010-08-10 08:21:00 480

原创 volatile 等C++中固有的不可移植特性

<br />1. volatile 关键字<br /><br />用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里重新读取它的值,并不要随意针对它作优化。<br /><br />不使用volatile定义的变量,可能因为编译器优化而出现一些问题。<br /><br />例如:<br />volatile int i=10;<br />int j = i;<br />...<br />int k = i;<br /><br /

2010-08-05 22:46:00 706

转载 JAVA IO 设计模式彻底分析

 一。引子(概括地介绍Java的IO)  无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充。它采用了流的机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source ofStream)出来,到某个目的地(称为流汇或Sink ofStream)去的。由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据。  如,一个程序可以用FileInputStream类从一个磁盘文件

2010-08-03 22:44:00 14935 5

转载 RTSP简介

<br />RTSP简介(ZT)<br />Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Realnetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以通过传

2010-08-02 14:28:00 602

原创 C语言中数组名和指针的区别 及 sizeof用法

#i nclude int main(int argc, char* argv[]) { char str[10]; char *pStr = str;  cout  实际情况是:第6行输出10,第7行输出4; 先给出三个结论:   (1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;   (2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;   (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4)

2010-08-02 09:50:00 4984 8

转载 进程通信之(一) 信号机制实验

<br /><br />UNIX/LINUX系统的进程间通信机构(IPC)允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉LINUX支持的信号量机制、管道机制、消息通信机制及共享存储区机制。<br /><br />(一) 信号机制实验 <br />实验目的<br />1、了解什么是信号<br />2、熟悉LINUX系统中进程之间软中断通信的基本原理<br />实验内容<br />1、编写程序:用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按^c

2010-07-30 09:02:00 1429 1

原创 libcmtd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main

<br />libcmtd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用<br />Release/Mapslicer2003.exe : fatal error LNK1120: 1 个无法解析的外部命令<br /> <br />出现这种问题,需要设置编译器。<br />将 链接器-->System-->子系统-->选择 Window  即可

2010-07-28 19:41:00 4241

转载 Apache的prefork模式和worker模式

<br /> <br />prefork模式<br />这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。<br />这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内

2010-07-26 16:05:00 430

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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