首页 文章 精选 留言 我的

精选列表

搜索[服务器],共10007篇文章
优秀的个人博客,低调大师

python监控服务器信息

本文转载自http://www.linuxtone.org/thread-29256-1-1.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 #coding:utf-8 #by_wangyi #by:QQ917611 #QQ群:251289157 import psutil import time import os import sys import re stats = [ 0 , 1 ] stoptimes = 2 if len (sys.argv)> 1 : interface = sys.argv[ 1 ] else : interface = 'eth0' class Monitor: def __init__( self ,user_uid,stoptime): self .user_uid = user_uid self .stoptime = stoptime if user_uid = = 0 : print "请使用root用户运行此脚本" exit() def meminfo( self ,used_vm,free_vm,buffers,cached): total = psutil.virtual_memory().total / 1024 / 1024 used = used_vm - (buffers + cached) free = total - used print "totalmem:%sM" % total print "usedmem:%sM" % used print "freemem:%sM" % free def diskinfo( self ): list = [] for i in psutil.disk_partitions(): list .append(i[ 1 ]) for k in range ( len ( list )): total = "%-15s分区\ttotal:%s" % ( list [k],psutil.disk_usage( list [k]).total / 1024 / 1024 / 1024 ) used = "used:%s" % (psutil.disk_usage( list [k]).used / 1024 / 1024 / 1024 ) free = "free:%s" % (psutil.disk_usage( list [k]).free / 1024 / 1024 / 1024 ) print "%sG\t%sG\t%sG" % (total,used,free) def cpuinfo( self ): with open ( '/proc/loadavg' )asf: loadavg = f.read() print "5分钟cpuload:%s" % (loadavg.split()[ 0 ]) print "10分钟cpuload:%s" % (loadavg.split()[ 1 ]) print "15分钟cpuload:%s" % (loadavg.split()[ 2 ]) print "当前运行proc:%s" % (loadavg.split()[ 3 ].split( '/' )[ 0 ]) print "最后运行pid:%s" % (loadavg.split()[ 4 ]) print '当前cpu%s' % (psutil.cpu_percent()) def flowinfo( self ): f = open ( '/proc/net/dev' , 'r' ).readlines() for i in f: if re.search(interface,i): rx = i.split( ':' )[ 1 ].split()[ 0 ] tx = i.split()[ 8 ] stats[ 0 ] = rx stats[ 1 ] = tx used_vm = psutil.virtual_memory().used / 1024 / 1024 free_vm = psutil.virtual_memory().free / 1024 / 1024 buffers = psutil.virtual_memory().buffers / 1024 / 1024 cached = psutil.virtual_memory().cached / 1024 / 1024 if __name__ = = '__main__' : user_uid = os.geteuid() stoptime = 2 task = Monitor(user_uid,stoptime) print "servermeminfo:\n" task.meminfo(used_vm,free_vm,buffers,cached) print "==================================" print "serverdiskinfo:\n" task.diskinfo() print "===================================" print "servercpuinfo:\n" task.cpuinfo() print "===================================" print "serverflowinfo:\n" task.flowinfo() RX_one = float (stats[ 0 ]) TX_one = float (stats[ 1 ]) time.sleep(stoptimes) task.flowinfo() RX_two = float (stats[ 0 ]) TX_two = float (stats[ 1 ]) RX_rate = round ( float (RX_two - RX_one) / 1024 , 2 ) TX_rate = round ( float (TX_two - TX_one) / 1024 , 2 ) print time.strftime( "%Y-%m-%d%H:%M:%S" ), 'RXbytes=' ,RX_rate, 'KB' print time.strftime( "%Y-%m-%d%H:%M:%S" ), 'TXbytes=' ,TX_rate, 'KB'

优秀的个人博客,低调大师

Linux服务器性能查看

一、CPU性能查看 1、查看物理cpu个数: #cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2、查看每个物理cpu中的core个数: #cat /proc/cpuinfo |grep "cpu cores"|wc -l 3、逻辑cpu的个数: #cat /proc/cpuinfo |grep "processor"|wc -l 物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下) 二、内存查看 1、查看内存使用情况: #free -m 三、硬盘查看 1、查看硬盘及分区信息: #fdisk -l 2、查看文件系统的磁盘空间占用情况: #df -h 3、查看硬盘的I/O性能(每隔一秒显示一次,显示5次): #iostat -x 1 5 4、查看linux系统中某目录的大小: #du -sh /root 如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录: #du -cksh *|sort -rn|head -n 10 四、查看平均负载 有时候系统响应很慢,但又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待 #uptime 还有动态命令: #top eg: top - 21:33:09 up 1:00, 1 user, load average: 0.00, 0.01, 0.05 如果每个逻辑cpu当前的活动进程不大于3,则系统性能良好 如果每个逻辑cpu当前的活动进程不大于4,表示可以接受 如果每个逻辑cpu当前的活动进程大于5,则系统性能问题严重 一般计算方法:负载值/逻辑cpu个数 还可以结合vmstat命令来判断系统是否繁忙procs/memeory/swap/io/system/cpu 五、其他参数 查看内核版本号: #uname -a 简化命令: #uname -r 查看系统是32位还是64位的: #file /sbin/init 查看发行版: #cat /etc/issue 或 #lsb_release -a 查看系统已载入的相关模块: #lsmod 查看pci设置: #lspci

优秀的个人博客,低调大师

有关创建DNS服务器

摘要 今天有个兄弟公司咨询我有关迁移DNS的技术相关的事情,了解如何做准备,如何能稳妥的把DNS由第三方服务商迁移到自建的DNS上。最近可能一是由于大公司对DNS解析安全越来越重视,或者最近DNS攻击越来越严重,可能觉得自己维护DNS解析更有底气。但迁移DNS这件事,有时候会比较复杂,并且容易出错(更多的是不平滑,在迁移过程中网站访问有时好有时坏、有的地区好有的地区不好)。 由于域名解析是个从上到下的过程(DNS系统可以说是全球最庞大、最基础的“云”服务),不但要了解如何搭建DNS,还要和注册商打交交道,以及碰到问题时如何排查。尤其是当自己使用的ns名称不存在时,可能要创建NS的名字。 名词解释 通用的来讲DNS就是解析,但在DNS行业内,要用更细化的名字。在这里我解释的可能不太准确,但目的是用大家能理解的词简单解释一下,更细的请参阅技术

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。