当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪IIS6.0出错脚本引擎异常处理方法       文献一: 1. 如果您的操作系统是windows server 2003的话,请根据以下网站的信息获取hotfix。由于hotfix并不能在网站中直接下载,您也可以拨打微软为合作伙伴提供的8008203800技术支持专线获得。 .........
    ▪基于Linux系统中查看硬件等信息的方法详解       本文介绍下,linux下查看硬件信息的命令与方法,包括主板序列号、cpu信息、内存信息、硬盘信息、网卡信息等。1,主板信息.查看主板的序列号   #使用命令dmidecode | grep -i 'serial number'#查.........
    ▪探讨如何减少Linux服务器TIME_WAIT过多的问题       TIME_WAIT状态的意义: 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的.........

[1]IIS6.0出错脚本引擎异常处理方法
    来源: 互联网  发布时间: 2013-12-24
文献一:
1. 如果您的操作系统是windows server 2003的话,请根据以下网站的信息获取hotfix。由于hotfix并不能在网站中直接下载,您也可以拨打微软为合作伙伴提供的8008203800技术支持专线获得。
An access violation error may occur in the W3wp.exe process after you install hotfix 908521 in Windows Server 2003 with Service Pack 1
http://support.microsoft.com/kb/917781/en-us
2. 如果问题依然存在,建议您先执行以下操作进行排错:
(1). 请暂时卸载最近安装的第三方软件,查看问题是否依然存在。
(2). 建议您尝试一次Clean Boot:
a. 运行MSCONFIG
b. 在常规下选择 选择性启动
c. 然后清除Process System.ini File, Process Win.ini File和Load Startup Items 的复选框,但是保留使用原始Boot.ini。
d. 在服务下,先点隐藏所有windows 服务,然后选择 disable all.
e. 然后重新启动。观察问题是否依旧发生。

文献二:
最近看到不少朋友主机出现【外部对象中发生了可捕获的错误(C0000005)】应大家的要求给出处理方法!
Active Server Pages 错误 'ASP 0115'

意外错误
/v/index.asp
外部对象中发生了可捕获的错误(C0000005)。脚本无法继续执行。
Active Server Pages 错误 'ASP 0240'

脚本引擎异常
/v/index.asp
ScriptEngine 产生了异常 'C0000005'(错误位于 'IActiveScript::Close()' 中,来自 'CActiveScriptEngine::FinalRelease()')。

这个错误目前已知的原因有2方面!
1.VBScript和MDAC本身错误造成解析不稳定!
2.ACCESS引发的错误!
对于ACCESS数据库,当数据库的大小超过50M的时候,access的性能会急剧下降!会不稳定有可能并发出现其他错误!

如果是你数据库过大,那么处理办法也很简单!删除没用的数据,网站做精,不在于数量,严格控制数据库的大小!不过都不是长久的处理办法,要想安枕无忧,最好的办法就是升级数据库到sql2000以上版本!这才能彻底解决问题!
如果是因为VBScript和MDAC本身错误就需要IDC协助操作了!
1、从别的电脑上(同系统)拷贝Vbscript.dll,覆盖前请备份!
2、确认你的系统非精简ghost版本的系统【ghost有可能缺少文件】重装IIS服务
3、更新ScriptEn.exe和madc!

    
[2]基于Linux系统中查看硬件等信息的方法详解
    来源: 互联网  发布时间: 2013-12-24
本文介绍下,linux下查看硬件信息的命令与方法,包括主板序列号、cpu信息、内存信息、硬盘信息、网卡信息等。
1,主板信息.查看主板的序列号  
#使用命令
dmidecode | grep -i 'serial number'
#查看板卡信息
cat /proc/pci 
2,cpu信息
#通过/proc文件系统
1) cat /proc/cpuinfo
#通过查看开机信息
2) dmesg | grep -i 'cpu'
#
3)dmidecode -t processor
3,在linux系统中查看硬盘信息,常用的命令为fdisk,df,du,hdparm,dmesg。
#查看分区情况
fdisk -l
#查看大小情况
df -h
#查看使用情况
du -h
#
hdparm -I /dev/sda
#
dmesg | grep sda
4,内存信息
1) cat /proc/meminfo
2) dmesg | grep mem
3) free -m
4) vmstat
5) dmidecode | grep -i mem
5,网卡信息
1) dmesg | grep -i 'eth'
2) cat /etc/sysconfig/hwconf | grep -i eth
3) lspci | grep -i 'eth'
6,鼠标键盘和USB信息
查看键盘和鼠标:cat /proc/bus/input/devices
查看USB设备:cat /proc/bus/usb/devices
查看各设备的中断请求(IRQ):cat /proc/interrupts
7,显卡信息
1)lspci |grep -i 'VGA'
2)dmesg | grep -i 'VGA'
8,声卡信息
1)lspci |grep -i 'VGA'
2)dmesg | grep -i 'VGA'
9,其他命令
.用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
.dmesg (查看所有启动时检测到的硬件信息)
.lspci (显示外设信息,如usb,网卡等信息)
.cat /etc/sysconfig/hwconf
.mpstat
10,需要手动安装的工具
lshw,hwinfo,hal-device-manager

    
[3]探讨如何减少Linux服务器TIME_WAIT过多的问题
    来源: 互联网  发布时间: 2013-12-24

TIME_WAIT状态的意义:
客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT
是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?
有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?
主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间,这个是TCP/IP必不可少的,也就是“解决”不了的。
也就是TCP/IP设计者本来是这么设计的。

主要有两个原因
1。防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失)
2。可靠的关闭TCP连接
在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。
TIME_WAIT 并不会占用很大资源的,除非受到攻击。
在Squid服务器中可输入如下命令:
#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LAST_ACK 14
SYN_RECV 348
ESTABLISHED 70
FIN_WAIT1 229
FIN_WAIT2 30
CLOSING 33
TIME_WAIT 18122
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
也就是说,这条命令可以把当前linux服务器的网络连接状态分类汇总。
下面解释一下为啥要这样写:
一个简单的管道符连接了netstat和awk命令。
先来看看netstat:
netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 123.123.123.123:80 234.234.234.234:12345 TIME_WAIT
你实际执行这条命令的时候,可能会得到成千上万条类似上面的记录,不过我们就拿其中的一条就足够了。
再来看看awk:
/^tcp/
滤出tcp开头的记录,屏蔽udp, socket等无关记录。
state[]
相当于定义了一个名叫state的数组
NF
表示记录的字段数,如上所示的记录,NF等于6
$NF
表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT
state[$NF]
表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数
++state[$NF]
表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一
END
表示在最后阶段要执行的命令
for(key in state)
遍历数组
print key,”\t”,state[key]
打印数组的键和值,中间用\t制表符分割,美化一下。
如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,
vim /etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行 /sbin/sysctl -p 让参数生效。
Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。
vi /etc/sysctl.conf
增加以下几行:引用
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
说明:
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为 180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效 果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
执行以下命令使配置生效:
/sbin/sysctl -p


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3