今天给各位分享linux句柄数是什么的知识,其中也会对linux服务器句柄数怎么看进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、linux 句柄数是什么
- 2、什么叫句柄数?多少是正常的?
- 3、linux 句柄数代表打开文件数吗
- 4、文件句柄数是什么东东?怎样才能把Linux的文件句柄数给消耗完(不修改文件)或者说有什么工具模拟消耗?
linux 句柄数是什么
一个进程在运行中会打开很多资源,包括文件file、通讯连接socket、正在监听的端口等,我们把这些统称为句柄(handle)。
什么叫句柄数?多少是正常的?
句柄是...
一个32位无符号整数,其原始定义好像是unsigned long(记不清了),使Windows用来标识一些系统使用的资源的(例如图标、窗口等等),如果觉得不好理解可以把它当作指针来使,而且事实上大部分时候就是把他当指针使的
回复:啥叫句柄?
对于初涉Windows编程的兄弟来说,句柄的确是个令人摸不找头脑的概念。
指针你应该知道吧,句柄起的作用和指针大体相同,比如用你用API函数建了个窗口,函数返回一个句柄,或者你调用一个API函数,这个函数要求你传入父窗口的句柄。第一个例子中以后你要放问那个窗口的任何东西,就只有靠这个句柄了,第二个例子也一样,函数需要通过父窗口的句柄进一步访问父窗口的资源,以进行对新建窗口的设置。
哪为什么不返回窗口在内存中的指针呢?让用户直接操作内存是十分危险的,有可能导致难以预料的错误,所以操作系统就在API函数一层隐去了过于接近底层的指针,而代之以32位无符号整数DWORD,它相似于一个索引,由操作系统通过这个索引查到窗口资源在内存中的真实位置进行操作,避免了许多不必要错误的发生。
是一个操作系统中线程和资源共享的问题,打个比方吧:
在cpu中某种资源最大是150,有4个线程:a;最大需求是75,当前需求是45,b:50,40, c:40,25,d有两种情况1,d;50,25。2,50,35。用那种方法才能使线程安全呢,看看总的剩余的资源是:v=150-45-40-25=40,先看第一种当前线程是25,那么还有v1=40-25=15的剩余资源,恰好能够用于c线程的剩余部分,而c线程又可以释放出先前25的资源,再看b剩余线程还需要10个资源数,我们就可以满足它,然后再依次地把所有的线程完成。再看第二种方法,当前线程需要资源35,那么只剩余40-35=5的资源了,不能满足任何一个线程的剩余线程要求的资源数,这就可能导致死锁问题,这个就不能使线程安全了
什么叫进程?进程同程序有什么区别?
A:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个
进程。显然,程序是死的(静态的),进程是活的(动态的)。
进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程
就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我
多讲了吧,所有由你启动的进程都是用户进程。
进程是操作系统进行资源分配的单位。在Windows
下,进程又被细化为线程,也就是一个进程下有多个能独立运行的
更小的单位。
linux 句柄数代表打开文件数吗
修改文件句柄数在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。
对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many filesopen”的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮你查看:
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
在系统访问高峰时间以root用户执行上面的脚本,可能出现的结果如下:
# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
13124204
5724244
5724231
5624264
其中第一行是打开的文件句柄数量,第二行是进程号。得到进程号后,我们可以通过ps命令得到进程的详细内容。
ps -aef|grep 24204
mysql 2420424162 99 16:15? 00:24:25/usr/sbin/mysqld
文件句柄数是什么东东?怎样才能把Linux的文件句柄数给消耗完(不修改文件)或者说有什么工具模拟消耗?
文件句柄那是windows的东西吧, linux下一般叫做文件描述符(File Descriptor), 使用ulimit -n可查看这个最大打开文件数限制. 只要你多次调用fopen,并且不调用fclose,很快就可以把它消耗完.不过这是对单个程序的限制.
linux句柄数是什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux服务器句柄数怎么看、linux句柄数是什么的信息别忘了在本站进行查找喔。