摘录自:
http://www.endbus.net/service/centos/59.html
1. 什么是linux服务器load average?
Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多。
参考资料: http://en.wikipedia.org/wiki/Load_average
2. 如何查看linux服务器负载
可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看。
3. 服务器负载高怎么办?
服务器负载(load/load average)是根据进程队列的长度来显示的。
当服务器出现负载高的现象时(建议以15分钟平均值为参考),可能是由于CPU资源不足,I/O读写瓶颈,内存资源不足等原因造成,也可能是由于CPU正在进行密集型计算。
建议使用vmstat -x,iostat,top命令判断负载过高的原因,然后找到具体占用大量资源的进程进行优化处理。
4. 如何产看服务器内存使用率?
可以通过free,top(执行后可通过shitf+m对内存排序),vmstat,procinfo命令,也可以通过/proc/meminfo文件查看。
5. 如何查看单个进程占用的内存大小?
可以使用top -p PID,pmap -x PID,ps aux|grep PID命令,也可以通过/proc/$process_id(进程的PID)/status文件查看,例如/proc/7159/status文件。
6. 无法从linux服务器A登录到服务器B怎么办?
请开发者首先确认服务器A和B是属于同一个应用,不同应用无法交叉登录。
1. 当服务器A无法登录服务器B时,可以使用ping IP和telnet IP 36000命令确认服务器B是否死机,ssh服务是否正常。
如果有异常,登录open.qq.com管理中心重启服务器(详细操作说明见: CVM_V2申请和管理#3.2 服务器重启)。
2. 如果可以通过客户端直接访问服务器B,但是不能从服务器A登录服务器B,请通过企业QQ联系运维支持协助定位。
7. 如何查看正在使用的服务和端口?
可以使用netstat -tunlp,netstat -antup,lsof -i:PORT命令查看。
8. 如何查看服务器进程信息?
可以使用ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID命令查看。
9. 如何杀死进程?
可以使用kill -9 PID(进程号),killall 程序名(比如killall cron)来杀死进程。
如果要杀死的是僵尸进程,则需要杀掉进程的父进程才有效果,命令为: kill -9 ppid(ppid为父进程ID号,可以通过ps -o ppid PID查找,例如ps -o ppid 32535)。
10. 如何查找僵尸进程?
可以使用top命令查看僵尸进程(zombie)的总数,使用ps -ef | grep defunct | grep -v grep查找具体僵尸进程的信息。
11. 如何在内网服务器间传输数据?
同一应用下的不同机器,可以通过如下命令实现文件传输:
scp -P port(使用36000端口) /home/user/localfilename(本地文件路径) user(使用appid)@serverip:/home/user/removefilename(目标文件路径)
rsync -e ‘ssh -p port(使用36000端口) -q’ /home/user/localfilename (本地文件路径) user(使用appid)@serverip:/home/user/removefilename(目标文件路径)
12. 为什么启动不了服务器端口?
服务器端口的启动监听,需要从操作系统本身以及应用程序查看。
linux操作系统1024以下的端口只能由root用户启动,即需要先运行sudo su –获取root权限后再启用服务端口。
应用程序问题,建议通过应用程序启动日志来排查失败原因,例如端口冲突(腾讯服务器系统使用端口不能占用,比如36000),配置问题等。
13. 常用的linux服务器性能查看命令有哪些?
\命令名称** | \说明** |
---|---|
top | 进程监控命令,用来监控系统的整体性能。可以显示系统负载,进程,cpu,内存,分页等信息,常用shift+m和shift+p来按memory和cpu使用对进程进行排序。 |
vmstat | 系统监控命令,重点侧重于虚拟内存,也可以监控cpu,进程,内存分页以及IO的状态信息。例如,vmstat 3 10,每隔3秒输出结果,执行10次。 |
iostatc | 用于输出cpu状态和IO状态的工具,可以详细展示系统的IO信息。例如iostat -dxmt 10,每10秒以MB的格式输出IO的详细信息。 |
df | 用来检查系统的磁盘空间占用状况。例如:df -m,以MB为单位展现磁盘使用状况。 |
lsof | 列举系统中被打开的文件,由于linux是以文件系统为基础,此命令在系统管理中很有帮助。例如: lsof -i:36000 ,显示使用36000端口的进程 lsof -u root ,显示以root运行的程序 lsof -c php-fpm ,显示php-fpm进程打开的文件 lsof php.ini ,显示打开php.ini的进程。 |
ps | 进程查看命令,可以用来显示进程的详细信息。常用命令参数组合为,ps -ef,ps aux,推荐使用ps -A -o来自定义输出字段。 例如: ps -A -o pid,stat,uname,%cpu,%mem,rss,args,lstart,etime sort -k6,6 -rn,按所列字段输出并以第六个字段进行排序 ps -A -o comm sort -k1 |uniq -c|sort -k1 -rn|head,列出运行实例最多的进程。 |
其他常用的命令和文件,free -m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。
参考资料: http://en.wikipedia.org/wiki/Template:Unix_commands,http://www.linuxmanpages.com/
14. Cron不生效怎么办?
排查步骤如下:
1. 确认crontab是否正常运行。
可以运行命令crontab -e添加如下测试条目*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &,然后观察/tmp/crontest文件。
如果有问题,建议使用ps aux|grep cron查找cron的pid,kill -9 PID结束cron进程,然后通过/etc/init.d/cron start重新启动cron。
2. 确认cron条目中的脚本路径为绝对路径。
3. 查看运行cron的用户帐号是否正确,同时查看/etc/cron.deny中是否包含此账户。
4. 检查脚本的执行权限,脚本目录以及日志的文件权限。
5. 建议通过后台方式运行脚本,在脚本条目后添加“&”,例如,*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &
15. 如何设置opensuse服务器开机任务?
Linux内核启动顺序为:
/sbin/init进程启动,
然后依次执行init初始脚本,
运行级别脚本/etc/rc.d/rc*.d,*号值等于运行模式,可以在/etc/inittab中查看,
最后是/etc/rc.d/rc.local。
如果需要配置开机任务,可以在/etc/rc.d/rc*.d中的S**rclocal文件配置,也可以在/etc/rc.d/rc.local中配置。
26. 为什么服务器硬盘只读?
硬盘只读的常见原因如下:
1. 磁盘空间满
可以通过df -m命令查看磁盘使用情况,然后删除多余的文件释放磁盘空间(非第三方文件不建议删除,如果需要请联系企业QQ确认);
2. 磁盘inode资源占用完
可以通过df -i命令查看,确认相关的进程;
3. 硬件故障。
如果hosting应用通过上述方式仍无法确认原因,请通过企业QQ联系运维支持协助定位。
17. 如何查看linux系统日志?
系统级别的日志文件存放路径为/var/log。
常用的系统日志为/var/log/messages 。
18. 如何查找文件系统大文件?
可以首先通过df命令查看磁盘分区使用情况,比如df -m;
然后:
通过du命令查看具体文件夹的大小,比如du -sh ./*,du -h --max-depth=1|head -10;
使用ls命令列出文件以及大小,比如ls -lSh;
另外,也可以通过find命令直接查看特定目录下的文件大小,比如find / -type f -size +10M -exec ls -lrt {} ;
19. 如何查看服务器操作系统版本?
可以通过下列命令查看系统版本:
uname -a,cat /proc/version,cat /etc/issue
20. 如何重启服务器?
方式1:
登录open.qq.com管理中心重启服务器(详细操作说明见: CVM_V2申请和管理#3.2 服务器重启)。
方式2:如果方式1不生效,可以尝试在服务器上以root运行reboot命令进行重启。
21. 为什么linux终端显示中文会出现乱码?
服务器本身没有对显示语言有限制,如果是终端软件的影响中文的显示
可以尝试调整 选项-会话选项-外观(secureCRT设置,其他版本软件请查找相关设置);
如果是纯Linux shell出现乱码,请使用export命令查看用户环境变量,查看LANG,LC_CTYPE等环境变量设置。
22. 如何设置通过SecureCRT连接CVM服务器的超时时间?
可以通过如下设置,使SecureCRT连接CVM时,不断开连接:
打开secureCRT选项(Options),选择会话选项(Session Opetions),点击终端(Terminal),在右侧反空闲(Anti-idle)的框中勾选发送协议NO-OP(Send protocol NO-OP),时间设置为每180秒(every 180 seconds)。
24. 如何获得CVM的root权限?
详见:root权限说明。
网络相关
1. 访问应用慢怎么办?
首先开发者需确认访问慢的原因,包括用户原因,网络原因,服务端原因。
1. 用户原因建议从以下方面排查:
用户电脑性能,电脑病毒,DNS缓存和设置,上网代理,防火墙设置,浏览器版本和插件等,可以通过换电脑测试。
2.网络原因建议从以下方面排查:
确定用户的IP以及网络运营商,域名解析是否正确,是否存在跨网,局域网额外限制,到其他公网服务是否正常,到相关服务器或网络中间路由节点的网络延迟,有无丢包,小运营商网络不稳定等。
建议通过异地正常网络使用相同帐号测试。
3. 服务端问题建议从以下方面排查:
平台问题,如CDN异常,请求转发异常等;服务端问题,如服务器性能,进程状况,程序异常等。
排查时,请配合使用如tcpdump,tracert等各种命令,以及httpwatch,wireshark等抓包工具。
如通过上述技术手段还无法解决,请提供以上排查信息和数据,通过 企业QQ联系运维支持协助定位。
2. 常用的网络排障命令?
\命令名称** | \说明** |
---|---|
Ipconfig/ifconfig | 显示计算机TCP/IP的详细配置,包括DNS信息,例如ipconfig /all,ipconfig /displaydns。 |
Ping | 包发送命令,可以模拟诊断延迟,丢包,测试网络状况,例如linux:ping 10.1.1.1 -c 10 -s 800,ping 10.1.1.1 -i 0.5,windows:ping qq.com -t,ping 10.1.1.1 -n 8 -l 800。 |
Tracert/traceroute | 跟踪路由,显示数据包到达目的的路径及各节点的时间,可以用来发现运营商节点问题和跨网问题等,如tracert qq.com。 |
Telnet | 远程登录服务命令,主要用于测试端口状态,例如telnet 10.1.1.1 8001。 |
Nslookup | 域名查询工具,主要用来查看域名解析是否正确。 |
Netstat | wc,netstat -an等。 |
3. 常用的网络抓包工具?
\工具名称** | \说明** |
---|---|
Tcpdump | 适用于linux系统。网络数据采集分析工具,可以对网络数据包进行截获和分析。 通过设定参数来实现对网络数据包的各种监控与分析。 例如,tcpdump -i any -nn tcp and port 443,tcpdump -i any “host 10.1.1.1” -n,tcpdump -s 0 -nX -i eth0 host 113.108.20.23等。 |
Httpwatch | 适用于windows系统。强大的网页数据分析工具,集成在IE浏览器,也可支持firefox,可以用来诊断前台接口调试,CDN下载资源慢和页面响应慢等问题。 建议使用专业版。 |
Fiddler | 适用于windows系统。独立的网络抓包工具,可监听所有电脑和互联网的http通讯,可以用来调试和诊断web服务和本地http的交互等问题。 |
Wireshark | 适用于windows和linux系统。网络封包分析软件,可以实时分析所有支持协议的通讯数据 |
4. 如何查看IP来源及所属运营商?
请通过以下网站查询:
Ip.qq.com, ip138.com
5. 如何修改windows本地dns设置?
方法一:
WinXP:
右键网上邻居—>属性(R)—>右键本地链接—>属性(P),双击Internet协议版本4(TCP/IPV4),修改本地DNS设定。
Win7:
开始菜单—>控制面板—>网络和共享中心—>本地连接—>属性(P),双击Internet协议版本4(TCP/IPV4),修改本地DNS设定。
方法二:
开始—>运行—>输入CDM进入到命令模式,输入
命令一:netsh interface ip set dns “网卡名” static 主DNS,
命令二:netsh interface ip set dns “网卡名” static 辅DNS编号(例如:主DNS设定:netsh interface ip set dns “本地连接” static 8.8.8.8,辅DNS设定:netsh interface ip set dns “本地连接” static 8.8.8.8 2)。
6. 如何清理dns缓存?
方法一:
开始菜单—>管理工具—>服务,重启DNS Client和DHCP client两项服务。
方法二:
开始菜单—>运行—>输入CDM进入命令模式,输入ipconfig/flushdns,回车执行,提示成功即可。
7. 端口不通怎么办?
服务端:
确认是否有监听对应的端口,是否有做访问限制。
客户端:
测试连接方式是否正常,例如TELNET只能测试TCP端口,UDP端口可以使用NETCAT等工具进行测试.可以通过wireshark和tcpdump等工具查看具体的数据包走向,明确定位问题。
其他:
腾讯机房禁止不同应用的机器相互访问,如果同一应用内端口无法正常访问,请通过 企业QQ联系运维支持查询防火墙设置。
8. Ping不通怎么办?
请确认网络是否可用,域名解析是否正确,服务端是否禁止ICMP包,使用tracert/traceroute协助确定网络故障。
如通过上述技术手段还无法解决,请提供以上排查信息和数据,请通过 企业QQ联系运维支持协助定位。
9. Telnet不通怎么办?
Telnet不通,指的是telnet之后没有任何返回,如果直接返回信息,则表示telnet是通的,但是请求被直接拒绝。
故障排查步骤:
在telnet源上,通过ping测试网络是否正常;
在目标机器上,确认服务器是否设置了禁止telnet(默认没有设置),是否监听了正确的IP和端口,可以通过telnet 127.0.0.1测试本地telnet服务;
对于hosting应用,如果通过以上技术手段还无法解决问题,请提供相应信息和数据,请通过 企业QQ联系运维支持排查腾讯防火墙设置。
10. Tracert不通怎么办?
tracert不通,指的是从某一节点开始,全部是*,并且无法到达目的,如果只是中间某一个节点出现*,则只能说明该节点禁止被tracert。
故障排查步骤:
从tracert的第一个节点开始,到最后一个可访问节点,查询各节点IP的所属运营商,可以判断网络访问路径以及运营商,然后定位是运营商问题,还是目标服务的问题。
注意,小运营商跨网问题,需要自助向运营商反馈。
11. 如何测试udp端口是否正常?
Udp包的发送和监听可以使用如下方法:
发送udp包,使用netcat命令,例如netcat -v -u 10.1.1.1 8001,同时使用tcpdump或者netcat监听udp请求。
12. 如何判断是否受到DDOS网络攻击?
可以结合以下现象初步判断是否受到DDOS攻击:
机器入流量出现陡增,同时出流量急剧下降;
服务器出现大量SYN,TIME_WAIT等异常连接( netstat –a |awk ‘{print $6}’ |sort|uniq -c|sort -gk 1);
某些IP访问频率过高,占用大量资源(netstat -tun|awk ‘{print $5}’|uniq -c|sort -r),导致服务不正常等。
注:腾讯已经对常见的攻击进行了监控和防范,开发者也可结合自身逻辑在服务器端限制特定IP访问。
13. 服务器如何同时接入电信、联通、移动三网?
应用为了兼顾电信、联通、移动的用户,一般都需要实现三网接入,让三个运营商的用户进入都不需要跨网,保证应用质量。
腾讯开放平台提供了TGW域名接入方案(详见: 域名接入),开发者只需要通过域名绑定,让一个域名同时绑定在电信、联通、移动的代理机器上,即可让电信的用户通过电信代理访问应用,联通的用户通过联通的代理进入,移动的用户通过移动的代理进入,满足了应用对三网接入的需求。
14. 用户网络有问题怎么办?
单个用户网络问题,建议开发商协助用户检查其电脑设置,包括DNS,上网代理,防火墙,局域网设置,是否跨网等;
如果是批量用户出现网络问题,可以收集共性信息,比如地域,运营商,访问方式等,然后通过 企业QQ联系运维支持进行问题定位和解决。
15. http访问出现40x怎么办?
当http返回码出现40x的时候,表示用户提交的请求被服务器接受,但是被认为是错误的请求,包括:
请求语法错误,请求文件不存在,服务器拒绝请求,客户端请求发送超时等。
开发者需要结合客户端请求和服务端设置来详细定位。详细返回信息信息请参考:
http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
16. http访问出现50x怎么办?
当http返回码出现50x的时候,表示服务器在处理正确请求时,出现了内部错误,属于服务端问题。
建议开发者在服务代码和逻辑中进行定位。详细返回码信息请参考:
http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81http://zh.wikipedia.org/wiki/HTTP状态码)