1、在linux 下怎麼查看伺服器的cpu和內存的硬體信息
可以按照如下方式進行操作:
一、查看cpu總個數方法:
1、首先執行top命令,如下圖中內容所表示。
2、在top命令的顯示界面,按數字鍵1,即可查看到當前系統中的總cpu數,如下圖中內容所表示。
二、查看總內存的方法:
1、free命令主要用於顯示內存數量,如下圖中內容所表示。
2、一般使用free命令的-h參數,更人性化的顯示,如下圖中內容所表示。
linux通用命令:
1、date :print or set the system date and time
2、stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3、passwd: print or set the system date and time (用passwd -h查看)
4、logout, login: 登錄shell的登錄和注銷命令
5、pwd: print working directory
6、more, less, head tail: 顯示或部分顯示文件內容.
7、lp/lpstat/cancel, lpr/lpq/lprm: 列印文件.
8、更改文件許可權: chmod u+x...
9、刪除非空目錄:rm -fr dir
10、拷貝目錄: cp -R dir
2、如何查看linux伺服器在線的用戶及服務進程?
查看用戶的命令有:finger, who, w , users,都可以查看在線的用戶,只是顯示的信息詳細程度不一樣。
查看靜態進程:ps aux(或-efl)。比如:ps aux 或查某一進程: ps -elf | grep httpd
查看動態進程:top 默認3秒鍾刷新一次。如:top -d 5 默認5秒刷新一次。
3、怎麼查看linux伺服器的配置?
首先當然要取得機器的IP,用戶名和密碼。
登陸之後,首先看到的就是機器的名稱,一般提示符就有了,如[root@localhost root]#。
這其中的localhost就是機器名了.如果用命令來查看的話就是hostname。
查看系統內核:uname –a。
查看操作系統的版本(我現在只用過redhat,所以只以這個為例):cat /etc/redhat-release。
查看網路配置信息:ifconfig
輸出如下信息:eth0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:10.1.3.101 Bcast:10.1.3.255 Mask:255.255.255.0
……
eth1 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:10.1.2.101 Bcast:10.1.2.255 Mask:255.255.255.0
……..
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1。
說明當前有三個網卡:eth0,eth1,lo;其中lo的ip是127.0.0.1,是用於測試的虛擬介面.
如果要對每個網卡查看更詳細的信息就需要分別查看其配置文件
對eth0
執行less /etc/sysconfig/network-scripts/ifcfg-eth0
輸出如下信息
DEVICE=eth0 設備名稱
HWADDR=00:XX:XX:XX:XX:XX 物理地址
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.1.3.101 ip地址
GATEWAY=10.1.3.1 網關
NETMASK=255.255.255.0 掩碼
對eth1
執行less /etc/sysconfig/network-scripts/ifcfg-eth1,輸出結果與上面類似。
查看當前打開的服務:chkconfig –list。
查看當前打開的埠:netstat –an。
查看磁碟信息:fdisk –l、df –h。
查看cpu的信息:cat /proc/cpuinfo。
查看內存信息:cat /proc/meminfo。
查看板卡信息:lspci、cat /proc/pci。
查看當前系統運行情況:ps –aux、top (類似於windows的任務管理器,可以看到當前cpu,內存的使用情況)。
4、如何查看linux伺服器的版本和配置信息
linux下看配置,可沒有windows那麼直觀。你只能一個一個查看。
一:cpu
[root@srv /]# more /proc/cpuinfo | grep "model
name"
[root@srv /]# grep "model name"
/proc/cpuinfo
二:內存
[root@srv /]# grep MemTotal /proc/meminfo
三:查看CPU位數(32 or 64)
[root@srv /]# getconf LONG_BIT
32
四:查看linux版本
[root@srv /]# more /etc/redhat-release
CentOS
release 5 (Final)
[root@srv /]# more /etc/issue
CentOS release 5 (Final)
Kernel \r on an \m
五:查看內核版本
[root@srv /]# uname
-r
2.6.18-92.1.18.el5.028stab060.2PAE
[root@srv /]# uname -a
Linux srv.eddiechen.cn
2.6.18-92.1.18.el5.028stab060.2PAE #1 SMP Tue Jan 13 12:31:30 MSK
2009 i686 i686 i386 GNU/Linux
六:查看時區
[root@srv /]# date -R
Wed, 25 Feb 2009
02:20:50 +0000
[root@srv /]# mv /etc/localtime
/etc/localtime.save
[root@srv /]# cp /usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
[root@srv /]# date -R
Wed, 25 Feb 2009
10:24:26 +0800
七:主機名
[root@srv /]# hostname
srv.eddiechen.cn
八:查看selinux情況
[root@srv /]# sestatus
SELinux
status:
disabled
九:網路
IP
[root@srv /]# ifconfig
| grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{
print $1}'
207.154.202.216
網關
[root@srv /]# cat /etc/sysconfig/network
NETWORKING="yes"
GATEWAY="192.0.2.1"
HOSTNAME="srv.eddiechen.cn"
dns
[root@srv /]# cat /etc/resolv.conf
nameserver
208.74.168.131
nameserver 208.74.168.132
nameserver 4.2.2.1
十:已經安裝的軟體包
[root@srv /]# rpm -qa | wc -l
197
[root@srv /]# yum list installed | wc
-l
198
十一:磁碟和分區
[root@srv /]# df
-h
Filesystem
Size
Used
Avail
Use
%
Mounted
on
/dev/simfs
10G
353M
9.7G
4%
/
[root@srv /]# -sh
353M
[root@srv /]# /etc
-sh
4.6M
/etc
5、如何查看linux伺服器的配置
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
2、在linux命令行下輸入shell指令:cat /proc/cpuinfo,按回車,會看到cpu的信息。
3、輸入shell指令:fdisk -l,按回車,會看到硬碟的信息。
6、linux系統下伺服器插槽磁碟信息這些信息我應該怎麼獲得?
jbod 模式下的話 。/dev/disk/by-path 會有各個磁碟 pci-0000:02:00.0-scsi-0:0:12:0 -> ../../sdm 。專。。。。。
其中,0:0:12:0 第2個0 是jbod 模式下,12 即為插槽位屬slot
7、linux下怎麼查詢伺服器的信息
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 # 查看各分區使用情況
-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分區的信息
8、如何查看linux伺服器的版本和配置信息?
查看系統版本:lsb_release -a
查看版本信息:cat /etc/redhat-release
知識擴展:
也可以獲取伺服器的信息:hostname
查看系統內核uname –a 查看操作系統的版本(我現在只用過redhat,所以只以這個為例)
cat /etc/redhat-release
查看網路配置信息ifconfig
9、linux怎麼查看伺服器硬體信息
|測試機器的硬體信息:
查看CPU信息(型號)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8個邏輯CPU, 也知道了CPU型號)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(說明實際上是兩顆4核的CPU)
# getconf LONG_BIT
32
(說明當前CPU運行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(結果大於0, 說明支持64bit計算. lm指long mode, 支持lm則是64bit)
再完整看cpu詳細信息, 不過大部分我們都不關心而已.
# dmidecode | grep 'Processor Information'
查看內 存信息
# cat /proc/meminfo
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看當前操作系統內核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看當前操作系統發行版信息)
查看機器型號
# dmidecode | grep "Proct Name"
查看網卡信息
# dmesg | grep -i eth
10、linux下怎麼查看伺服器性能
1.查看系統負載
(1)uptime
這個命令可以快速查看機器的負載情況。
在Linux系統中,這些數據表示等待CPU資源的進程和阻塞在不可中斷IO進程(進程狀態為D)的數量。
命令的輸出,load average表示1分鍾、5分鍾、15分鍾的平均負載情況。
通過這三個數據,可以了解伺服器負載是在趨於緊張還是趨於緩解。
如果1分鍾平均負載很高,而15分鍾平均負載很低,說明伺服器正在命令高負載情況,需要進一步排查CPU資源都消耗在了哪裡。
反之,如果15分鍾平均負載很高,1分鍾平均負載較低,則有可能是CPU資源緊張時刻已經過去。
(2)W
Show who is logged on and what they are doing.
可查詢登錄當前系統的用戶信息,以及這些用戶目前正在做什麼操作
其中的load average後面的三個數字則顯示了系統最近1分鍾、5分鍾、15分鍾的系統平均負載情況
注意:
load average這個輸出值,這三個值的大小一般不能大於系統邏輯CPU的個數。
如果輸出中系統有4個邏輯CPU,如果load average的三個值長期大於4時,說明CPU很繁忙,負載很高,可能會影響系統性能,
但是偶爾大於4時,倒不用擔心,一般不會影響系統性能。相反,如果load average的輸出值小於CPU的個數,則表示CPU還有空閑
2.dmesg | tail
該命令會輸出系統日誌的最後10行。
這些日誌可以幫助排查性能問題.
3.vmstat
vmstat Virtual Meomory Statistics(虛擬內存統計),用來獲得有關進程、虛存、頁面交換空間及 CPU活動的信息。這些信息反映了系統的負載情況。
後面跟的參數1,表示每秒輸出一次統計信息,表頭提示了每一列的含義
(1)監控進程procs:
r:等待在CPU資源的進程數。
這個數據比平均負載更加能夠體現CPU負載情況,數據中不包含等待IO的進程。如果這個數值大於機器CPU核數,那麼機器的CPU資源已經飽和(出現了CPU瓶頸)。
b:在等待io的進程數 。
(2)監控內存memoy:
swpd:現時可用的交換內存(單位KB)
free:系統可用內存數(以千位元組為單位)
buff: 緩沖去中的內存數(單位:KB)。
cache:被用來做為高速緩存的內存數(單位:KB)。
(3)監控swap交換頁面
si: 從磁碟交換到內存的交換頁數量,單位:KB/秒。
so: 從內存交換到磁碟的交換頁數量,單位:KB/秒。
如果這個數據不為0,說明系統已經在使用交換區(swap),機器物理內存已經不足。
(4)監控 io塊設備
bi: 發送到塊設備的塊數,單位:塊/秒。
bo: 從塊設備接收到的塊數,單位:塊/秒。
(5)監控system系統
in: 每秒的中斷數,包括時鍾中斷。
cs: 每秒的環境(上下文)轉換次數。
(6)監控cpu中央處理器:
us:用戶進程使用的時間 。以百分比表示。
sy:系統進程使用的時間。 以百分比表示。
id:中央處理器的空閑時間 。以百分比表示。
us, sy, id, wa, st:這些都代表了CPU時間的消耗,它們分別表示用戶時間(user)、系統(內核)時間(sys)、空閑時間(idle)、IO等待時間(wait)和被偷走的時間(stolen,一般被其他虛擬機消耗)。
這些CPU時間,可以讓我們很快了解CPU是否出於繁忙狀態。
註:
如果IO等待時間很長,那麼系統的瓶頸可能在磁碟IO。
如果用戶時間和系統時間相加非常大,CPU出於忙於執行指令。
如果有大量CPU時間消耗在用戶態,也就是用戶應用程序消耗了CPU時間。這不一定是性能問題,需要結合r隊列,一起分析。
4.mpstat -P ALL 1
該命令可以顯示每個CPU的佔用情況,如果有一個CPU佔用率特別高,那麼有可能是一個單線程應用程序引起的。
MultiProcessor Statistics的縮寫,是實時系統監控工具
其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPUs系統里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。
格式:mpstat [-P {|ALL}] [internal [count]]
-P {|ALL} 表示監控哪個CPU, cpu在[0,cpu個數-1]中取值
internal 相鄰的兩次采樣的間隔時間
count 采樣的次數,count只能和delay一起使用
all : 指所有CPU
%usr : 顯示在用戶級別(例如應用程序)執行時CPU利用率的百分比
%nice :顯示在擁有nice優先順序的用戶級別執行時CPU利用率的百分比
%sys : 現實在系統級別(例如內核)執行時CPU利用率的百分比
%iowait : 顯示在系統有未完成的磁碟I/O請求期間CPU空閑時間的百分比
%irq : 顯示CPU服務硬體中斷所花費時間的百分比
%soft : 顯示CPU服務軟體中斷所花費時間的百分比
%steal : 顯示虛擬機管理器在服務另一個虛擬處理器時虛擬CPU處在非自願等待下花費時間的百分比
%guest : 顯示運行虛擬處理器時CPU花費時間的百分比
%idle : 顯示CPU空閑和系統沒有未完成的磁碟I/O請求情況下的時間百分比
系統有兩個CPU。如果使用參數 -P 然後緊跟CPU編號得到指定CPU的利用率。
( Ubuntu安裝: apt-get install sysstat)
5.pidstat 1
pidstat命令輸出進程的CPU佔用率,該命令會持續輸出,並且不會覆蓋之前的數據,可以方便觀察系統動態
6.iostat -xz 1
iostat命令主要用於查看機器磁碟IO情況
r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫次數和每秒讀寫數據量(千位元組)。讀寫量過大,可能會引起性能問題。
await:IO操作的平均等待時間,單位是毫秒。這是應用程序在和磁碟交互時,需要消耗的時間,包括IO等待和實際操作的耗時。如果這個數值過大,可能是硬體設備遇到了瓶頸或者出現故障。
avgqu-sz:向設備發出的請求平均數量。如果這個數值大於1,可能是硬體設備已經飽和(部分前端硬體設備支持並行寫入)。
%util:設備利用率。這個數值表示設備的繁忙程度,經驗值是如果超過60,可能會影響IO性能(可以參照IO操作平均等待時間)。如果到達100%,說明硬體設備已經飽和。
註:如果顯示的是邏輯設備的數據,那麼設備利用率不代表後端實際的硬體設備已經飽和。值得注意的是,即使IO性能不理想,也不一定意味這應用程序性能會不好,可以利用諸如預讀取、寫緩存等策略提升應用性能
7.free -m
free命令可以查看系統內存的使用情況,-m參數表示按照兆位元組展示。
最後兩列分別表示用於IO緩存的內存數,和用於文件系統頁緩存的內存數。
註:
第二行-/+ buffers/cache,看上去緩存佔用了大量內存空間。這是Linux系統的內存使用策略,盡可能的利用內存,如果應用程序需要內存,這部分內存會立即被回收並分配給應用程序。
如果可用內存非常少,系統可能會動用交換區(如果配置了的話),這樣會增加IO開銷(可以在iostat命令中提現),降低系統性能。
8.sar -n DEV 1
sar命令在這里可以查看網路設備的吞吐率。
在排查性能問題時,可以通過網路設備的吞吐量,判斷網路設備是否已經飽和。
9.sar -n TCP,ETCP 1
sar命令在這里用於查看TCP連接狀態,其中包括:
active/s:每秒本地發起的TCP連接數,既通過connect調用創建的TCP連接;
passive/s:每秒遠程發起的TCP連接數,即通過accept調用創建的TCP連接;
retrans/s:每秒TCP重傳數量;
TCP連接數可以用來判斷性能問題是否由於建立了過多的連接,進一步可以判斷是主動發起的連接,還是被動接受的連接。TCP重傳可能是因為網路環境惡劣,或者伺服器壓力過大導致丟包。
10.top
top命令包含了前面好幾個命令的檢查的內容。比如系統負載情況(uptime)、系統內存使用情況(free)、系統CPU使用情況(vmstat)等。
因此通過這個命令,可以相對全面的查看系統負載的來源。同時,top命令支持排序,可以按照不同的列排序,方便查找出諸如內存佔用最多的進程、CPU佔用率最高的進程等。
但是,top命令相對於前面一些命令,輸出是一個瞬間值,如果不持續盯著,可能會錯過一些線索。這時可能需要暫停top命令刷新,來記錄和比對數據。