linux查看句柄数占用(linux 查看句柄)-编程之家

linux查看mp4类型文件数量?

Linux文件数打开数查看当前系统最大的文件打开数,在linux终端中输入ulimit -a“open files”参数选项后面的数值就是当前系统支持的最大打开文件数修改linux最大文件打开数如果要修改linux最大文件打开数,可以通过参数命令 unlimit -n 后面接需要设置的文件数量。

设置好之后,再次查看 unlimit -a 你会发现已经设置为新的数量了设置好之后,再次编辑修改重启设置的服务,已经没有刚刚那个1024文件数限制的报错提示其他修改方法除此之外,如果针对不同的用户。

也可以通过编辑修改 /etc/rc.local文件设置环境变量,添加 unlimit -n,重启之后一般就自动设置好了查看系统句柄文件数当前系统文件句柄的最大数目,只用于查看,不能设置修改cat /proc/sys/fs/file-max查看进程打开文件数如果需要查看所有进程的文件打开数,命令lsof |wc -l

linux下有什么检测内存溢出的工具?

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。

可以使用相应的软件测试工具对软件进行检测。

1.ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。

2.Dmalloc-DebugMallocLibrary.

3.Electric

Fence-Linux分发版中由BrucePerens编写的malloc()调试库。

4.Leaky-Linux下检测内存泄漏的程序。

5.LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。

6.MEMWATCH-由Johan

Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。

7.Valgrind-DebuggingandprofilingLinuxprograms,aimingat

programswritteninCandC++.

8.KCachegrind-Avisualizationtoolfortheprofilingdata

generatedbyCachegrindandCalltree.

9.Leak

Monitor-一个Firefox扩展,能找出跟Firefox相关的泄漏类型。

10.IELeakDetector

(Drip/IESieve)-Drip和IESieveleak

detectors帮助网页开发员提升动态网页性能通过报告可避免的因为IE局限的内存泄漏。

11.WindowsLeaks

Detector-探测任何Win32应用程序中的任何资源泄漏(内存,句柄等),基于WinAPI调用钩子。

12.SAPMemory

Analyzer-是一款开源的JAVA内存分析软件,可用于辅助查找JAVA程序的内存泄漏,能容易找到大块内存并验证谁在一直占用它,它是基于Eclipse

RCP(RichClientPlatform),可以下载RCP的独立版本或者Eclipse的插件。

13.DTrace-即动态跟踪Dynamic

Tracing,是一款开源软件,能在Unix类似平台运行,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。

14.IBMRationalPurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus

将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。

15.ParasoftInsure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为Microsoft

VisualC++的一个插件运行。

16.CompuwareDevPartnerforVisualC++BoundsChecker

Suite-为C++开发者设计的运行错误检测和调试工具软件。作为MicrosoftVisualStudio和C++6.0的一个插件运行。

17.ElectricSoftwareGlowCode-包括内存泄漏检查,code

profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。

18.CompuwareDevPartnerJava

Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。

19.QuestJProbe-分析Java的内存泄漏。

20.ej-technologiesJProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存泄漏、并解决执行绪的问题。4.3.2注册码:A-G666#76114F-1olm9mv1i5uuly#0126

21.BEAJRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。

22.SciTechSoftwareAB.NETMemory

Profiler-找到内存泄漏并优化内存使用针对C#,VB.Net,或其它.Net程序。

23.YourKit.NET&JavaProfiler-业界领先的Java和.NET程序性能分析工具。

24.AutomatedQAAQTime-AutomatedQA的获奖产品performanceprofiling和memory

debugging工具集的下一代替换产品,支持Microsoft,Borland,Intel,Compaq和

GNU编译器。可以为.NET和Windows程序生成全面细致的报告,从而帮助您轻松隔离并排除代码中含有的性能问题和内存/资源泄露问题。支持.Net

1.0,1.1,2.0,3.0和Windows32/64位应用程序。

25.JavaScriptMemoryLeakDetector-微软全球产品开发欧洲团队(GlobalProduct

Development-Europeteam,GPDE)

发布的一款调试工具,用来探测JavaScript代码中的内存泄漏,运行为IE系列的一个插件。

linux能创建多少层目录?

linux的ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。

Linux为了cpu的搜索效率而规定的,要想改变数目限制需要重新编译内核。在kernel代码中有这样的:

include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000

include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000

为 什么说31998个呢?这是因为mkdir创建一个目录时,目录下默认就会创建两个子目录的,一个是.目录(代表当前目录),另一个是..目录(代表上级 目录)。这两个子目录是删除不掉的,“ rm . ” 会得到“rm: cannot remove `.' or `..'”的提示。所以32000-2=31998。

ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的inode数。

在一个目录下,touch了100万个文件是没有问题的。但是肯定会受到所在文件系统的inode数的限制。

df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者dumpe2fs -h /dev/sdaX查看可用inode数,后两个命令输出结果是一样的,但是跟df所得出的可用inode数会有些误差。

网上有两种解决inode数限制的办法如下

2.1 重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)

2.2 使用loopback文件系统临时解决:在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统 中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。

查看系统句柄文件数

cat /proc/sys/fs/file-max

查看进程打开文件数

lsof |wc -l

epoll详解?

按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。