in

SDT Community Server

SDT Forums, Blogs, Photos server.

wing

  • Svchost.exe占用CPU100%全面解析与进程说明

    我们先看看微软是怎样描述Svchost.exe的。在微软知识库314056中对Svchost.exe有如

    下描述:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。

                其实Svchost.exe是Windows XP系统的一个核心进程。Svchost.exe不单单只出现在

    Windows XP中,在使用NT内核的Windows系统中都会有Svchost.exe的存在。一般在Windows

    2000中Svchost.exe进程的数目为2个,而在Windows XP中Svchost.exe进程的数目就上升到了

    4个及4个以上。所以看到系统的进程列表中有几个Svchost.exe不用那么担心。 


    Svchost.exe到底是做什么用的呢?

                首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。

    由于Windows系统中的服务越来越多,为了节约有限的系统资源微软把很多的系统服务做成了

    共享模式。那Svchost.exe在这中间是担任怎样一个角色呢?

                Svchost.exe的工作就是作为这些服务的宿主,即由Svchost.exe来启动这些服务。

    Svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不

    能为用户提供任何服务。Svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来

    启动系统服务。

    那Svchost.exe是病毒这种说法是任何产生的呢?

                因为Svchost.exe可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思

    的要利用Svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。

    如何才能辨别哪些是正常的Svchost.exe进程,而哪些是病毒进程呢?

    Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

    NT\CurrentVersion\Svchost”。

                微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。以

    Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。


    如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即

    可。如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索

    Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:\Windows\System32”目

    录下的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中

    毒了。

                还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是

    由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具

                上面简单的介绍了Svchost.exe进程的相关情况。总而言之,Svchost.exe是一个系统的

    核心进程,并不是病毒进程。但由于Svchost.exe进程的特殊性,所以病毒也会千方百计的入

    侵Svchost.exe。通过察看Svchost.exe进程的执行路径可以确认是否中毒。

    注:希望广大朋友不要进行非法用途,在这里解密木马捆绑是希望大家了解其原理。


                如今网络上病毒肆虐,让电脑用户在应付病毒上花费了不少精力。当你使用杀毒软件查

    杀病毒时,是否遇到查出了病毒,但是杀不掉的情况,原因何在?该如何处理呢?以下笔者对

    此略作介绍。

    ◆系统还原文件

                _restore文件夹是Windows Me/XP系统特有的系统还原文件夹,隐藏在该文件夹中的病毒

    是不能直接清除的。当然这些病毒也不能直接发挥作用。要清除这些病毒,可以关闭Windows

    系统的“系统还原”功能,清理系统还原点,或者直接删除_restore文件夹的内容。

    ◆疑似电脑病毒

                有时杀毒软件会出现提示:unknown.com.tsr.virus。该提示中,unknown是“不明的”

    意思,tsr是内存驻留的意思,本信息一般提示的是纯DOS环境下的可执行文件,表明杀毒软

    件在该文件中发现了可疑代码,类似病毒,但是没有确定是什么病毒。

                如果疑似病毒提示涉及Type-Win32代码,则表示可疑的32位代码的意思,是指Windows环

    境下可疑的可执行代码。对于疑似病毒,可以直接删除该文件,或者将这些“疑似”的病毒

    文件发送给反病毒软件公司,请求帮助。

    ◆exe 文件感染病毒

                以.exe为扩展名称的文件是软件安装程序的部分文件,其中的病毒不能直接清除。只有

    在软件完全安装成功后,方可清除。这有点类似于在COPY文件时发现了病毒的处理方法。
    ◆在DOS下清除病毒

                对于在引导区发现的病毒,如POLYBOOT/WYX.b病毒,请使用干净的系统盘启动系统到DOS

    ,然后在DOS下杀毒即可清除。如果可感染引导区的病毒存在于文件中,可以直接删除该文件

    ◆系统初始文件中引用病毒

    杀毒时出现如下提示:

    -----------------------------------------------------------------------------------------------
    QUOTE:
      C:\Windows\brasil.pif worm.win32.opasoft.a病毒 已删除
      C:\Windows\instit.bat worm.win32.opasoft.a病毒 已删除
      C:\Windows\alevir.exe worm.win32.opasoft.a病毒 已删除
      C:\Windows\marco.scr worm.win32.opasoft.a病毒 已删除
      C:\Windows\SCRSVR.exe worm.win32.opasoft.a病毒 已删除

    ------------------------------------------------------------------------------------------------
                杀毒后,重启动电脑时出现很多找不到文件的信息,而且再次杀毒时提示依旧,病毒还

    是存在。这些顽固病毒的引用应该是在win.ini文件中,请单击“开始→运行”,键入

    “sysedit”,按下回车键,编辑win.ini,删除对病毒的引用行。

    ◆病毒最新变种

    杀毒软件查出的是其病毒库中不存在的新型病毒,请将杀毒软件的病毒库升级到最新,然后

    再查杀。
    --------------------

       一款好的防火墙并不能发现所有病毒;一个好的杀毒软件并不能歼灭所有的带毒程序!

    遇到这些情况我们该做何处理呢?很简单——手工杀毒。而要论到手工杀毒,就不能不提到

    系统进程的妙用了。

    进程、病毒?

                书上说:“进程为应用程序的运行实例,是应用程序的一次动态执行。”看似高深,我

    们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包

    括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然

    也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。

                危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程

    列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于“手工杀毒有起着关键

    性的作用。

    操作系统如何打开进程列表?

                要通过进程列表查看系统是否染毒,必须打开当前的执行程序进程列表,Microsoft的每

    种系统都有相应的打开方法,但能够显示的能力却因(系统)不同,有所差异:

    1.Windows 98 /Me系统

                打开系统进程的方式很简单,快捷键“Ctrl+Alt+Delete”(如图1),这个窗口大家应

    该比较熟悉,使用Windows系统的用户都知道用这个方法来关闭程序,不过它同样用于显示系

    统进程,只是Windows 98系统较初级,对进程的显示局限于名称,且里面所显示的还有打开

    的文件及目录名,查看时易混淆。Windows Me的进程打开方式和Windows 98相同。

                Windows 9x系统打开的进程列表混乱且不完全,显然不便于查看系统的具体进程状况,

    所以建议使用一些工具程序来为Windows 9x系统显示进程,如“Windows优化大师”,在“优

    化大师”的“系统安全优化”项内打开“进程管理”,在图2所示的“Windows 进程管理”窗

    口内,可以详细查看当前计算机所运行的所有进程,及具体程序所在的位置,这样更方便完

    成后面要介绍的如何利用进程进行查毒、杀毒。

    2.Windows 2000/ XP/2003系统

                Windows 2000、Windows XP、Windows 2003打开进程窗口的方式与Windows 9x系统相同

    ,只是三键后打开的是“Windows 任务管理器”窗口,需要选择里面的“进程”项。Windows

    2000系统只显示具体进程的全名,占用的内存量;Windows XP、Windows 2003系统相比

    Windows 2000会显示该进程归属于那个用户下,如操作系统所必须的基础程序,会在后面的

    “用户名”内显示为“SYSTEM”,由用户另外开启的程序则用户名为当前的系统登录用户名

    通过进程发现、处理病毒
                在介绍具体的查毒和杀毒前,笔者先回答开篇提出的两个问题。为什么杀毒软件并不能

    全面的查找和杀掉病毒?首先,病毒防火墙是通过对程序进行反汇编,然后与自己的病毒库

    进行对比来查找病毒,如果病毒较新,而杀毒软件又未能及时升级便不能识别病毒。其次,

    杀毒软件在发现病毒后,如果是独立的可执行病毒程序,会选择直接删除的处理方式,而病

    毒如果被当作进程执行了,杀毒软件就无能为力了,因为它没有功能和权限先停止掉系统的

    这些进程,被当作进程执行的程序是不能被删除的(这也是大家在删除一个程序时,提示该

    程序正在被使用不能删除的原因)。所以在使用杀毒软件杀毒时,才会有杀毒完成后,又出

    现病毒提示的原因。

                回到原来话题上!通过进程如何发现和杀掉病毒呢?由前面的知识介绍可知,Windows

    9X和Windows 2000系统只能显示进程的名称,这对判断该进程是否是病毒还不够,如果要准

    确的断定病毒,最好使用前面介绍的“Windows优化大师”来查看进程程序的源路径,如果是

    “C:\windows\system”下的一些未知的“EXE”那便极有病毒的可能性了。Windows XP和

    Windows 2003系统,进程后会有“用户名”的显示,病毒是不可能获得“SYSTEM”权限的,

    所以应注意“用户名”是当前登录用户的进程,一旦发现是病毒,可以立即“杀掉”。这里

    介绍两个技巧:

    1.发现可疑进程后,利用Windows的查找功能,查找该进程所在的具体路径,通过路径可以

    知道该进程是否合法,譬如由路径“C:\Program Files\3721\assistse.exe”知道该程序是

    3721的进程,是合法的。

    2.在对进程是否病毒拿不定主意时,可以复制该进程的全名,如:“xxx.exe”到googl.com

    或baidu.com这样的全球搜查引擎上进行搜查,如果是病毒会有相关的介绍网页。

                确定了该进程是病毒,首先应该杀掉该进程,对于Windows 9x系统,选中该进程后,点

    击下面的“结束任务”按钮,Windows 2000、Windows XP、Windows 2003系统则在进程上单

    击右键在弹出菜单上选择“结束任务”。“杀掉”进程后找到该进程的路径删除掉即可,完

    成后最好在进行一次杀毒,这样就万无一失了。

                一次利用进程杀毒的具体过程是这样的:“通过进程名及路径判断是否病毒→杀掉进程→删除病毒程序”,为了让读者更好的判断进程,在这里补充一些Windows的进程资料给大家:


    QUOTE:
    进程名      描述

    smss.exe     Session Manager

    csrss.exe     子系统服务器进程

    winlogon.exe   管理用户登录

    services.exe   包含很多系统服务

    lsass.exe     管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。

    svchost.exe    Windows 2000/XP 的文件保护系统

    SPOOLSV.EXE    将文件加载到内存中以便迟后打印。

    explorer.exe   资源管理器

    internat.exe   托盘区的拼音图标

    mstask.exe    允许程序在指定时间运行。

    regsvc.exe    允许远程注册表操作。(系统服务)→remoteregister

    tftpd.exe     实现 TFTP Internet 标准。该标准不要求用户名和密码。

    llssrv.exe    证书记录服务

    ntfrs.exe     在多个服务器间维护文件目录内容的文件同步。

    RsSub.exe     控制用来远程储存数据的媒体。

    locator.exe    管理 RPC 名称服务数据库。

    clipsrv.exe    支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。


    问:我的系统进程里有四个svchost.exe,听说有些木马就是伪装成系统的进程,不知道这个

    是不是?

    答:svchost.exe 存在 %windir%\system32\wins 下。

                如果怀疑svchost.exe是病毒可以通过以下方法来证实是不是病毒:

    1.可以去 wins 目录找找有无多余,

    2.可以搜搜windows文件夹中 svchost.exe 看看有几个(应为1个),

    3.tlist -s察看,

    4.也可以下载一个可以看带路径名的进程的浏览工具。

    问:svchost.exe是起什么作用的进程?

    答:Svchost.exe文件对那些从动态连接库中运行的服务来说是一个普通的主机进程名。

    Svhost.exe文件定位在系统的%systemroot%\system32文件夹下。在启动的时候,

    Svchost.exe检查注册表中的位置来构建需要加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每个Svchost.exe的回话期间都包含一组服务,以至于单独的服务必须依*Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。

        Svchost.exe 组是用下面的注册表值来识别。

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost每个在这个键下的值代表一个独立的Svchost组,并且当你正在看活动的进程时,它显示作为一个单独的例子。每个键值都是REG_MULTI_SZ类型的值而且包括运行在Svchost组内的服务。每个Svchost组都包含一个或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service msdtc.exe ---并列事务,是分布于两个以上的数据库,消息队列,文件系统或其他事务保护资源管理器。

    grovel.exe ---扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间(只对 NTFS 文件系统有用)。

    snmp.exe ---包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。
    以上这些进程都是对计算机运行起至关重要的,千万不要随意“杀掉”,否则可能直接影响系统的正常运行。

    http://hi.baidu.com/sskgyiqpl/blog/item/50a3982ba81050fae6cd40b7.html

  • svchost.exe占CPU 100%的解决方法

    作者:车东 发表于:2007-04-15 12:04 最后更新于:2007-05-07 09:05
    版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
    http://www.chedong.com/blog/archives/001286.html
    --------------------------------------------------------------------------------
    现象:

    机器启动运行几分钟后 svchost.exe就会占系统cpu资源的100%
    拔掉网线就好了,重连上网后一会儿:svchost.exe又占cpu资源的99%;


    解决:

    假设你已经使用了免费杀毒软件排除了病毒和已经使用防间谍软件排除了恶意软件的影响:
    想办法清空C:\WINDOWS\SoftwareDistribution 目录下所有的文件重启机器即可。

    如果机器提示文件正在使用("Automatic Updates"服务正在运行)无法删除相应目录:

    则想办法打开控制面板==>管理工具==>服务,找到"Automatic Updates",设置成手动启动,
    重启后再删除 C:\WINDOWS\SoftwareDistribution。问题就解决了。
    然后再打开控制面板==>管理工具==>服务,找到"Automatic Updates",恢复成自动启动重启。
    注意:重启后最好在上网条件比较好的地方让系统顺利完成一次系统自动更新。

    原因分析:

    先说说什么是svchost.exe:简单的说没有这个服务机器几乎就上不了网了。很多应用服务都是以来于这个接口RPC的,如果发现这个进程占了太多的CPU资源,直接把系统的RPC服务禁用了会是一场灾难:因为连恢复这个界面的系统服务设置界面都无法使用了。恢复的方法需要使用注册表编辑器,找到 HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> Services >> RpcSs, 右侧找到Start属性,把它的值改为2再重启即可

    造成svchost占系统CPU 100%的原因并非svchost服务本身:以上的情况是由于Windows Update服务下载/安装失败而导致更新服务反复重试造成的。而Windows的自动更新也是依赖于svchost服务的一个后台应用,从而表现为svchost.exe负载极高。 常发生这类问题的机器一般是上网条件(尤其是去国外网站)不稳定的机器,比如家里的父母的机器,往往在安装机器几个月以后不定期发生,每个月的第二个星期是高发期:因为最近几年MS很有规律的在每个月的第二个星期发布补丁程序)。

    上面的解决方法并不能保证不重发作,但是为了svchost文件而每隔几个月重装一次操作系统还是太浪费时间了。

    教训:spoolsv.exe和svchost.exe的问题都是应用遇到失败/例外情况后自动重试造成的,本想为用户节省时间的设计,但是重试的频度过高反而导致了和病毒一样的效果。

  • Simple Sort Simple

    示例使用了SimpleSort中QuickSorter和ComboSort11两种排序方法.使用起来相当简单,只要声明他们的实例后,直接调用sort方法,传入指定的参数就可以了.

    关于性能和算法没有深入研究,请自行修炼...

  • [转贴] HTTP压缩配置-IIS

     1. HTTP压缩概述
    HTTP压缩是在Web服务器和流览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、javascript或CSS檔。

    2. HTTP压缩工作原理
    Web服务器处理HTTP压缩的工作原理如下:
    · Web服务器接收到流览器的HTTP请求后,检查流览器是否支持HTTP压缩;
    · 如果流览器支持HTTP压缩,Web服务器检查请求档的后缀名;
    · 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求档的最新压缩档;
    · 如果请求档的压缩档不存在,Web服务器向流览器返回未压缩的请求档,并在压缩缓冲目录中存放请求文件的压缩档;
    · 如果请求档的最新压缩档已经存在,则直接返回请求档的压缩档;
    · 如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回流览器,压缩内容不存放到压缩缓存目录中。

    3. IIS 6.0中配置HTTP压缩的步骤
    IIS 6.0中配置HTTP压缩的步骤如下:
    · 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
    · 在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的檔"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
    · 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低;
    · 编辑完毕后保存MetaBase.xml文件;如果档无法保存,则可能IIS正在使用该档。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;
    · 最后,重新激活IIS。可以到HTTP压缩测试网站验证结果。

    Tomcat的压缩方式

    Coyote HTTP/1.1 Connector元素是一个支持HTTP/1.1协议的Connector组件。它使Catalina除了能够执行servlet和JSP页面外,还能够作为一个单独的web server运行。Connector对象的实例在服务器上监听特定的TCP端口。一个Service可以配置一个或多个这样的Connector,每个Connector都把请求转发给对应Engine进行处理,并产生响应。

    在服务器启动的时候,Connector会创建一些请求处理线程(基于minProcessors属性值)。每个请求需要一个线程为其服务,直到服务完成。如果同一时刻的请求数多于可用的请求处理线程,会创建额外的处理线程,线程数的上限是maxProcessors。如果已经到达了最大请求数,仍然有请求发生,它们被缓存在由Connector创建的server socket中,直到缓存的上限(由acceptCount属性的值定义)。这以后所有的请求都会收到“拒绝连接”的错误,直到有资源能够处理它们。

    Resin HTTP压缩

    应用服务器无关的Web应用的标准配置放在WEB-INF/web.xml中。

    <host id='example.chedong.com'>
    <access-log id='logs/example_access.log'>
    <!--rotate log daily-->
    <rollover-period>1D</rollover-period>
    </access-log>

    <error-log id='logs/example_error.log'>
    <rollover-period>1M</rollover-period>
    </error-log>

    <web-app id='/' app-dir='/www/myapp/'>
    <classpath id='WEB-INF/classes' source='WEB-INF/src' compile='true'/>

    <!--http compress-->
    <filter-mapping url-pattern='/result'
    filter-name='com.caucho.http.filter.GzipFilter'/>

    <!--admin need authorization-->
    <login-config auth-method='basic'>
    <authenticator>
    <class-name>com.caucho.http.security.XmlAuthenticator</class-name>
    <init-param user='myname:password:user'/>
    </authenticator>
    </login-config>
    <security-constraint url-pattern='/admin' role-name='user'/>
    </web-app>
    </host>

     注意事项
     
     不是所有的客户浏览器均支持压缩的功能,在实际使用的时候你应当动态判断浏览器是否支持压缩功能,然活决定是否向浏览器发送压缩后的输出流

     WebLogic的HTTP的下行压缩
     
     要求使用工业标准的GZIP和Deflate压缩算法来压缩HTTP流量;降低带宽消耗、缩短最终用户在慢速/低带宽连接条件下的下载时间,写出来的算法需要在WebLogic应用程序中当输出下行内容时进行压缩,并设置头标志来告知浏览器这是压缩的内容

    上行的压缩实施

    对于HTTP的上行,来降低贷款的实际意义不是很大,因为上行的数据时控制和参数数据,不会包含大量的页面文字或者图片内容,如果在上行时实施压缩,因为通常情况下应用服务器不会对上行的内容自动解压,同时需要在服务器上进行相应的压缩标志的判断,同时是费时间的,将降低应用程序的相应时间。

    如果要实施,方法如下:

    在前端浏览器页面中包含一个控件或者Applet,当点击前端页面的提交按钮的时间,使用javascript来调用相应Applet的方法,来完成压缩或者加密,然活提交的服务器上,当服务器接受到这个数据时进行解压或者解密,然后交给使用这些数据的业务逻辑。

    对于不同的应用服务器的配置时是不同的

     提示
     
     任何事物是一对矛盾,当在降低网路流量的时间,因为实施的压缩算法,将增加CPU的处理时间。如果实施了压缩算法,通常情况下,对于文字的压缩比例是60%左右,就是说在同样的情况下,实施压缩后的网路流量是没有实施压缩的40%左右

  • Connection strings

Copyright SDT, 2006-2009. All rights reserved.