
的压力。在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。
要实现它的前提是,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。使用的linux
发行版本是red
hat
enterprise
linux
4,工作过程是:首先查看整个系统的状态,然后是检查特定的子系统。
linux服务器进行性能监控有几种方法,每种方法都各有其优缺点。
使用snmp等标准工具
标准及非标准工具能执行一个或多个收集、合并及传输阶段,如rstatd或snmp工具,然而标准的rstat后台程序提供的信息是有限的,速度慢而且效率低。
内核模块
几个系统监控工程利用内核模块来存取监控数据。一般情况下,这是很有效的收集系统数据的方法。然而这种方法存在的问题是,当主内核源内有其它改变时,必须保持代码一致性。一个内核模块可能与用户想使用的其它内核模块相冲突。此外,在使用监控系统之前,用户必须获得或申请模块。
/proc虚拟文件系统
/proc虚拟文件系统是一个较快的、高效率执行系统监控的方法。使用/proc的主要缺点是必须保持代码分析与/proc
文件格式改变的同步。事实表明,linux内核的改变比/proc
文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。本文介绍的方法即基于/proc虚拟文件系统。
一、
/proc文件系统特点
linux
系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。这是通过
/proc
虚拟文件系统实现的。/proc
文件虚拟系统是一种内核和内核模块用来向进程
(process)
发送信息的机制
(所以叫做
/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取
有关进程的有用信息,在运行中
(on
the
fly)
改变设置
(通过改变内核参数)。
与其他文件系统不同,/proc
存在于内存之中而不是硬盘上。不用重新启动而去看
cmos
,就可以知道系统信息。这就是
/proc
的妙处之一。
小提示:
每个linux系统根据软硬件不同/proc
虚拟文件系统的内容也有些差异。/proc
虚拟文件系统有三个很重要的目录:net,scsi和sys。sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。像楼主这种情况推荐安装云锁,云锁能够实现对网站性能数据的可控可观,可对这些数据(并发连接数、吞吐量等)根据实际工作情况在云锁里设定一个“危险警戒线”,当出现异常情况时会及时报警通知。服务器性能监控,系统资源(cpu使用率、内存使用率、磁盘、网络 IO)监控图形化界面展现,在图形中可设定“危险警戒线”,当出现异常情况时,图形界面一目了然。网络带宽利用率是指:带宽每秒收到、发送信息的效率。带宽分配是为了在有限的带宽内保证实时业务的传输,不至于因为业务量太大而出现网络阻塞现象。
我们访问互联网的过程中存在着两种行为:一是上传数据,二是下载数据。上行带宽指的是上传的速度,而下行带宽指的是下载数据时的速度。
云帮手通过对服务器多网卡的上行带宽和下行带宽传输情况进行实时监控,使用户可以精准了解到各网卡的运行情况,做到合理带宽分配,保证网络畅通。1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到 flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
2,查看内存大小:
cat /proc/meminfo |grep MemTotal
3,其他一些可以查看详细linux系统信息的命令和方法:
uname -a # 查看内核/ *** 作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看 *** 作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)