系统信息查看
# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量
资源查看
# free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载
VIRT
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP
进程使用的虚拟内存中,被换出的大小,单位kb。
RES
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE
可执行代码占用的物理内存大小,单位kb
DATA
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR
共享内存大小,单位kb
nFLT
页面错误次数
nDRT
最后一次写入到现在,被修改过的页面数。
正 在运行的程序,叫进程。每个进程都有完全属于自己的,独立的,不被干扰的内存空间。此空间,被分成几个段(Segment),分别是Text, Data, BSS, Heap, Stack。用户进程内存空间,也是系统内核分配给该进程的VM(虚拟内存),但并不表示这个进程占用了这么多的RAM(物理内存)。这个空间有多大?命 令top输出的VIRT值告诉了我们各个进程内存空间的大小(进程内存空间随着程序的执行会增大或者缩小)。你还可以通过/proc//maps,或者 pmap �Cd 了解某个进程内存空间都分布,比如:
#cat /proc/1449/maps
0012e000-002a4000 r-xp 00000000 08:07 3539877 /lib/i386-linux-gnu/libc-2.13.so
002a4000-002a6000 r--p 00176000 08:07 3539877 /lib/i386-linux-gnu/libc-2.13.so
002a6000-002a7000 rw-p 00178000 08:07 3539877 /lib/i386-linux-gnu/libc-2.13.so
002a7000-002aa000 rw-p 00000000 00:00 0
…
08048000-0875b000 r-xp 00000000 08:07 4072287 /usr/local/mysql/libexec/mysqld
0875b000-0875d000 r--p 00712000 08:07 4072287 /usr/local/mysql/libexec/mysqld
0875d000-087aa000 rw-p 00714000 08:07 4072287 /usr/local/mysql/libexec/mysqld
磁盘和分区
# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 #Iotop:监测Linux磁盘的输入/输出
Iotop也非常类似top命令和Htop程序,但是它有记账功能,可用于监测和显示实时磁盘输入/输出及进程。这个工具非常有用,可用于查找具体的进程以及进程的频繁使用的磁盘读取/写入操作。
Iostat:显示输入/输出方面的统计信息
IoStat是款简单的工具,可以收集和显示系统输入/输出存储设备方面的统计信息。这个工具经常用于追查存储设备性能方面的问题,包括设备、本地磁盘和NFS等远程磁盘。
# iostat -x 1 avg-cpu: %user %nice %sys %idle 16.24 0.00 4.31 79.44 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util /dev/cciss/c0d0 0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29
上面的 iostat 输出表明秒有 28.57 次设备 I/O 操作: 总IO(io)/s = r/s(读) +w/s(写) = 1.02+27.55 = 28.57 (次/秒) 其中写操作占了主体 (w:r = 27:1).
平均每次设备 I/O 操作只需要 5ms 就可以完成,但每个 I/O 请求却需要等上 78ms,为什么? 因为发出的 I/O 请求太多 (每秒钟约 29 个),假设这些请求是同时发出的,那么平均等待时间可以这样计算:
平均等待时间 = 单个 I/O 服务时间 * ( 1 + 2 + … + 请求总数-1) / 请求总数
查看内存是ddr2还是ddr3的
查看内存是ddr2还是ddr
[root@bogon queryperf]# dmidecode -t memory # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x1000, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Single-bit ECC Maximum Capacity: 8 GB Error Information Handle: Not Provided Number Of Devices: 4 Handle 0x1100, DMI type 17, 27 bytes Memory Device Array Handle: 0x1000 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: 1 Locator: DIMM1_A Bank Locator: Not Specified Type: DDR2 Type Detail: Synchronous Speed: 667 MHz Manufacturer: 7F98000000000000 Serial Number: 4702EE7A Asset Tag: 051113 Part Number:
网络
# ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表# netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 #ip addr #CentOS7查看网络接口属性命令 #ss -tan #CentOS7查看监听端口 #IPTraf:实时监测IP局域网
IPTraf 是一个基于控制台的开源实时网络(IP LAN)监测实用工具,面向Linux。它可以收集通过网络传输的众多信息(比如IP流量监测器),包括TCP标记信息、ICMP详细信息、 TCP/UDP流量故障、TCP连接数据包以及字节计数。它还可以收集接口方面普通和详细的统计信息,比如TCP、UDP、IP、ICMP、非IP、IP 校验和错误以及接***动等。
#iftop:监测网络带宽
iftop是 另一款基于终端的免费开源系统监测实用工具,可显示一份经常更新的列表,该列表显示了通过系统上网络接口的网络带宽使用情况。iftop通常用于监测网络 使用情况,就像top通常用于监测处理器使用情况。iftop是属于top家族的工具,可监测某个所选择的接口,并显示两个主机之间目前的带宽使用情况。
进程
# ps -ef # 查看所有进程 # top # 实时显示进程状态 # htop #top的增强版 # pidof #根据进程名获取其PID # pgrep -l named #功能等于ps aux|grep named # pidof named 查看named的进程号
Iotop也非常类似top命令和Htop程序,但是它有记账功能,可用于监测和显示实时磁盘输入
用户
# w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务 #psacct或acct:监测用户活动
psacct或acct这两个工具大有用处,可用于监测系统上每个用户的活动。这两个守护程序都在后台运行,监测系统上每个用户的总体活动,还监测它们在使用什么资源。
这些工具对系统管理员们来说大有用处,可用于跟踪每个用户的活动,比如用户在从事什么操作,他们发出了什么命令,他们使用了多少资源,以及他们在系统上处于活动状态已有多久,等等。
服务
# chkconfig --list # 列出所有系统服务 # chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
常用命令整理如下:
dmidecode | grep -i ’serial number’#查看主板的序列号: service kudzu start ( or restart)# cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]#查看CPU信息 cat /proc/meminfo [free -m][vmstat]#查看内存信息 cat /proc/pci#查看板卡信息 lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']#查看显卡/声卡信息 dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']查看网卡信息 <!--more--> lspci (相比cat /proc/pci更直观)#查看PCI信息: cat /proc/bus/usb/devices#查看USB设备 cat /proc/bus/input/devices#查看键盘和鼠标 fdisk & disk �C l & df#查看系统硬盘信息和使用情况 cat /proc/interrupts#查看各设备的中断请求(IRQ) uname -a#查看系统体系结构 isalist �Cv [isainfo �Cv][isainfo �Cb]#查看及启动系统的32位或64位内核模式 dmidecode#查看硬件信息,包括bios、cpu、内存等信息 /usr/sbin/ffbconfig �Crev \?#测定当前的显示器刷新频率 /usr/platform/sun4u/sbin/prtdiag �Cv#查看系统配置 showrev �Cp#查看当前系统中已经应用的补丁 who �CrH#显示当前的运行级别 nslookup �Cclass=chaos �Cq=txt version.bind#查看当前的bind版本信息
[root@localhost ~]#dmesg | more #查看硬件信息 [root@localhost ~]#lspci #显示外设信息, 如usb,网卡等信息 [root@localhost ~]#lsnod #查看已加载的驱动 [root@localhost ~]#psrinfo -v #查看当前处理器的类型和速度(主频) [root@localhost ~]#prtconf -v #打印当前的OBP版本号 [root@localhost ~]#iostat �CE #查看硬盘物理信息(vendor, RPM, Capacity) [root@localhost ~]#prtvtoc /dev/rdsk/c0t0d0s #查看磁盘的几何参数和分区信息 [root@localhost ~]#df �CF ufs �Co i #显示已经使用和未使用的i-node数目 [root@localhost ~]#isalist �Cv 对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息: [root@localhost ~]#Cpuinfo #主机CPU信息 [root@localhost ~]#Dma #主机DMA通道信息 [root@localhost ~]#Filesystems #文件系统信息 [root@localhost ~]#Interrupts #主机中断信息 [root@localhost ~]#Ioprots #主机I/O端口号信息 [root@localhost ~]#Meninfo #主机内存信息 [root@localhost ~]#Version Linux#内存版本信息