linux lsof命令详解

linux lsof命令详解,第1张

lsof命令用于查看你进程打开的文件、打开文件的进程、进程打开的端口。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。

在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议和用户数据协议套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础 *** 作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

语法:

losf (选项)

选项:

-a 列出打开文件存在的进程;

-c<进程名> 列出指定进程所打开的文件;

-g 列出GID号进程详情;

-d<文件名> 列出占用该文件号的进程;

+d<目录> 列出目录下被打开的文件;

+D<目录> 递归列出目录下被打开的文件;

-n<目录> 列出使用NFS的文件;

-i<条件> 列出符合条件的进程。

Windows XP 常见的进程列表 最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行) smssexe Session Manager csrssexe 子系统服务器进程 winlogonexe 管理用户登录 servicesexe 包含很多系统服务 lsassexe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。 (系统服务) 产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务) svchostexe 包含很多系统服务 svchostexe SPOOLSVEXE 将文件加载到内存中以便迟后打印。(系统服务) explorerexe 资源管理器 internatexe 托盘区的拼音图标 附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少) mstaskexe 允许程序在指定时间运行。(系统服务) regsvcexe 允许远程注册表 *** 作。(系统服务) winmgmtexe 提供系统管理信息(系统服务)。 inetinfoexe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务) tlntsvrexe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务) 允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务) tftpdexe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务) termsrvexe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000Professional 桌面会话以及运行在服务器上的基于 Windows 的程序。(系统服务) dnsexe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务) 以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉 tcpsvcsexe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000Professional 的能力。(系统服务) 支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及Quote of the Day。(系统服务) ismservexe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务) upsexe 管理连接到计算机的不间断电源(UPS)。(系统服务) winsexe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。 (系统服务) llssrvexe License Logging Service(system service) ntfrsexe 在多个服务器间维护文件目录内容的文件同步。(系统服务) RsSubexe 控制用来远程储存数据的媒体。(系统服务) locatorexe 管理 RPC 名称服务数据库。(系统服务) lserverexe 注册客户端许可证。(系统服务) dfssvcexe 管理分布于局域网或广域网的逻辑卷。(系统服务) clipsrvexe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务) msdtcexe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务) faxsvcexe 帮助您发送和接收传真。(系统服务) cisvcexe Indexing Service(system service) dmadminexe 磁盘管理请求的系统管理服务。(系统服务) mnmsrvcexe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务) netddeexe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务) smlogsvcexe 配置性能日志和警报。(系统服务) rsvpexe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务) RsEngexe 协调用来储存不常用数据的服务和管理工具。(系统服务) RsFsaexe 管理远程储存的文件的 *** 作。(系统服务) grovelexe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务) SCardSvrexe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务) snmpexe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务) snmptrapexe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序。(系统服务) UtilManexe 从一个窗口中启动和配置辅助工具。(系统服务) msiexecexe 依据 MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)

监控Oracle 数据库中长时间运行进程的两种方式,通过这些方 法,我们可以监控单条语句的 长时间 *** 作,监控存储过程的运行进度,甚至自己'生成'进度信息 关键词:监控进度V$SESSION_LONGOPS 当Oracle 存储过程运行时间较长时,我们希望客 户端能了解到它在后台执行的状况或者进度信息(类 似WINDOWS 安装软件时的进度条信息),这样可以知 道运行在后台的应用进程是否终止或者休眠,更近一 步要求,最好能知道进行到哪一步骤,还有多少时间才 能完成 简单到一条SQL 语句的情况,如果执行时间较长, 我们如何得到它的运行状况是否后台还在运行虽 然可以查看SQL 的执行计划了解它的执行步骤,但如 何知道它运行到哪一个步骤了呢如何才能估计出它 的合理的较为精确的执行时间呢 Oracle 数据库前端发出执行命令后,进程在后台 执行,普通开发人员一般无法了解到后台在做什么,一 般采用的方法是用DBMSOUTPUTPUT_LINE 来打印出 来,但DBMS—OUTPUTPUT—LINE 打印的信息受缓冲区 大小限制,如果信息较多就容易溢出,而且如果存储过 程执行时间较长,只有在其执行完后,这些信息才会打 印出来,这就增加了调试周期,影响了调试效果有的 开发人员在存储过程中通过写日志表的形式来记录进 度,但需要COMMIT 后其他进程才能看到这些日志信 息,而在某些控制结构中(如游标CURSOR 循环)COM— MIT,则很容易引起ORA 一01555 错误,造成程序出错 下面介绍两种监控方法 如何监控单条长语句从ORACLE8 开始,出现一个新的动态视图:V $SESSION_LONGOPS,从这个视图可以获知一些 *** 作 (如全表扫描,并行查询,RMAN,排序等)的执行进度, 我们先来了解一下V$SESSION—LONGOPS 视图的一些 重要字段: 列说明 sID 会话标识 5ERIAL#会话序列号 OPfE *** 作的简短描述 TARG 盯 *** 作的对象,如xx TAR~_DESC目标描述 SOFAR 目前已执行单位数目 ToTAIWORK 总单位数目 UNlTS 单位 START_TIME 开始执行时间 LAST_ UPDATE_TIME 统计数据最后更新时间 TIME_ REMAINING 估计剩余时间c ELAPSED_SECONDS 已执行时间(秒) MEsSAGE 统计数据汇总信息 USERA^^E 用户名 ~L_ADDRES5 语句的地址,,用于和V$sql_text 等关联 语句的hash 地址,用于和V$sql_texlSQLHASH VALUE等关联 这个动态视图显示各个运行时间超过6 程这些进程包含许多备份和恢复功能,统计数据收集,查询等 执行以下语句就可以得到数据库中各个长时间 *** 作的进程信息: select'Icfromv$sesslon_ longopswheretime_ re- malnlng>0 我们也可以用图形化工具查看,如TOAD,OEM中 均可查看长 *** 作进程进度信息 Oracle 自带的管理工具OracleEnterpriseManager (OEM)提供了图形化查看长 *** 作的功能,如: 计算机系统应用2007 Quest公司的数据库管理工具TOAD 也可以看到 长 *** 作信息,如: 表的统计信息 长时问运行的SQL 语句可以用V$SESSION—LON 为了能监控到查询进程执行的进度,必需使用 CBO 优化器并且: 设置TlMED—STATISTICS或者SQL—TRACE 用ANALYZE语句或者DBMS—STAT 包收集相关 108 实践经验P 帕cficalExpen GOPS来监控实际上,长时间运行的存储过程也可以 监控那是否任何 *** 作都可以通过这个视图来监控进 度呢很遗憾,V$SESSION—LONGOPS 只会报告它认为 耗时长的 *** 作对于NEsTEDLOOP/UNIQUEINDEX READS/INDEXRANGEScANS 等执行速度很快的 *** 作, 2007 期计算机系统应用由于它们执行一般不超过6 秒,因此将不会出现在V $SESSION—LONGOPS 如何监控自定义存储过程单条长语句可以用上面的方法监控,Oracle 动生成V$SESSION— LONGOPS 记录那么存储过程中 有许多小 *** 作,如何监控进度呢其实,我们也可以手 工生成V$SESSION—LONGOPS 记录,方法是调用DBMS APPLICATION—INFO 包来生成自定义进度信息 从Oracle72 开始,提供了DBMS—APPLICATION— INFo 包,通过调用这个包,应用可以将自己的名字和 动作填写到V$SESSION 和V$SQLAREA 的MODULE ACTION列中V$SESSION 列出每个会话的用户名, *** 作系统机器名,终端名,程序名等 应用可以在执行模块时设置模块名和动作名,模 块名一般是甩户自定义的而动作名一般描述模块中 的当前执行的事务的名字 DBMSAPPLICATION_INFO 包包含以下过程 SET_ MODULE 设置当前运行程序的模块名 SET__AEl'ION 设置当前模块的当前动作名 SESSION—LON-在V$SESSIONLONGOPS视图中 GoPS 插入一行进度信息 SETMODULE过程设置模块名和动作名: createorreplaceproceduredel—cust(v_cust—Id varchar2) begindbms—— application—— infoset— module(module—— name=>"delcust" actlon_name=>"deletetablecust)i deletefromcustwherecustld=v_ cusLId; dbms_appllcatlon— InfoseLmodule(,); end;以上设置的模块名和动作名可以通过查询V $sqlarea 获取 如:selectsql—text,module,actionfromv $sqlareawheremodule="del_cust: sql_textmoduleadion Deletefr0mcustdel_ custdeletetableoust 1rowselected SET_SESSION—LONGOPS 过程用于在V$session— longops 中插入一行,开发人员可以调用此过程设置长 时间 *** 作的状态信息,这样,任何其他其他会话都可以 看到这个进度信息如下例所示: declare nohlntnumberdefaultdbmsapplicatlon_infoset_ session— Iongops_ nohint; IdndexnumberdefaultInohlnt: slnonumber;begin forlIn18888888888 loop update; dbms_ appllcaflon— Infosetsesslon_ longops (rlndex=>l_rlndex, slno=>I_slno op_name=>"updateahugetable target=>126, target_desc=>'msgdescription context=>0sOfar=>j totalwork=>8888888888 units=>loops endloop;end; 然后,从另一个会话来执行以下语句selectfromv$sesslon_ longopswheretlmere malnlng>0; 也可以用图形化工具TOAD 或OEM来查看 因此,采用本文说明的方法,Oracle 开发人员可以 比较方便的监控长 *** 作进程的进度信息,也可以自己 设置监控信息,来了解后台存储过程的运行效率甚 至,可以在存储过程或SQL 语句提交执行后马上观察 其执行进度,如果比较缓慢,则可以中断其执行,进行 调优,从而缩短调试周期,提高开发效率

以上就是关于linux lsof命令详解全部的内容,包括:linux lsof命令详解、查看系统进程的命令有哪些 它们的区别是什么、如何监控Oracle数据库中长时间运行的进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9811140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存