A. 如何查看linux伺服器運行狀態
Linux系統如何查看服務的運行狀態?
1. 前言
本文主要講解如何在Linux系統上查看服務的運行狀態。
Linux系統提供各種系統服務(如進程管理、登錄服務、日誌、計劃任務等)和網路服務(如遠程登錄、電子郵件、列印機、web主機、數據存儲、文件傳輸、域名解析(使用DNS)、動態IP地址分配(使用DHCP)等等)。
Linux系統如何查看服務的運行狀態
從技術上講,服務是一個進程或一組進程(通常稱為守護進程),在後台連續運行,等待請求(特別是來自客戶機的請求)。
Linux支持不同的方式來管理服務,比如啟動、停止、重啟、開機自啟動等,大多數最新的Linux發行版在使用相同的進程管理器-systemd。
systemd是Linux系統和服務管理器init進程的一個替代品,它與SysV和LSB init腳本兼容,systemctl命令是管理systemd的主要工具。
systemd的組件
systemd的組件
在本教程中,我們將演示如何查看Linux系統中systemd可管理的所有服務。
2. 如何查看Linux系統中systemd可管理的所有服務
當您不帶任何參數運行systemctl命令時,它將列印所有已載入的systemd單元的列表(請閱讀systemd文檔以獲得有關systemd單元的更多信息)。顯示各服務單元的狀態(無論是活動的還是非活動的)。
systemctl
如何查看Linux系統中systemd可管理的所有服務
列出系統上所有已載入的服務,查看它們活動狀態,是否正在運行、是否關閉、是否啟動失敗。
systemctl list-units --type=service
或者
systemctl --type=service
列出系統上所有已載入的服務,查看它們活動狀態
要列出所有已載入但已經設置開機自啟動的服務
systemctl list-units --type=service --state=active
systemctl --type=service --state=active
要列出所有已載入但已經設置開機自啟動的服務
查看所有正在運行的服務:
systemctl list-units --type=service --state=running
systemctl --type=service --state=running
查看所有正在運行的服務
如果經常使用前面的命令,可以在創建別名命令,編輯bashrc文件
vim ~/.bashrc
添加以下內容,創建別名命令running_services。
alias running_services='systemctl list-units --type=service --state=running'
保存文件並退出。使用running_services命令查看伺服器上所有已載入、正在運行的服務的列表。
running_services
此外,服務的一個重要方面是它們使用的埠。要確定守護進程監聽的埠,可以使用netstat或ss工具,如下所示。
其中-l選項表示列印所有監聽的套接字,-t顯示所有TCP連接,-u顯示所有UDP連接,-n表示列印數字埠號(而不是應用程序名稱),-p表示顯示應用程序名稱。
netstat -ltup | grep sshd
或者
ss -ltup | grep sshd
第五列顯示套接字:本地地址:埠。在本例中,進程sshd正在埠22上監聽。
查看守護進程監聽的埠
此外,如果您的伺服器防火牆服務運行的狀態,使用以下命令查看已經允許或者阻塞的埠或者服務
查看防火牆服務運行的狀態
firewall-cmd --list-services
firewall-cmd --list-ports
Ubuntu 用戶
sudo ufw status
3. 總結
在本教程中,我們演示了如何在Linux中查看systemd下運行的服務及這些服務的運行狀態。我們還介紹了如何檢查服務正在監聽的埠,以及如何查看在防火牆服務已經允許或者阻塞的服務和埠號。
B. 查看linux開啟了哪些服務
1. 查看Linux啟動的服務
chkconfig --list 查詢出所有當前運行的服務
chkconfig --list atd 查詢atd服務的當前狀態
2.停止所有服務並且在下次系統啟動時不再啟動,如下所示:
chkconfig --levels 12345 NetworkManager off
如果想查看當前處於運行狀態的服務,用如下語句過濾即可
chkconfig --list |grep on
3.如果只是想當前的設置狀態有效,在系統重啟動後即不生效的話,可以用如下命令停止服務
service sshd stop
(2)查看linux所有服務擴展閱讀:
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
C. Linux系統下查看伺服器硬體信息
系統
# 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 # 查看各分區使用情況
# -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 # 查看所有安裝的軟體包
查看網卡型號
[[email protected]]# lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation 82567V-2 Gigabit Network Connection
查看內存和cpu最直接最常用的命令:
[[email protected]]# free
total used free shared buffers cached
Mem: 3069504 528876 2540628 0 76648 396152
-/+ buffers/cache: 56076 3013428
Swap: 5124692 0 5124692
[[email protected]]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
stepping : 10
cpu MHz : 1596.000
cache size : 2048 KB
查看硬碟信息(查看硬碟型號和硬碟序列號):
[[email protected]]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 2.0G 272M 1.6G 15% /
/dev/sda8 199G 188M 189G 1% /home
/dev/sda3 9.7G 1.3G 7.9G 15% /usr
/dev/sda2 9.7G 198M 9.0G 3% /var
/dev/sda1 99M 17M 77M 18% /boot
方法1:
[[email protected]]# hdparm -i /dev/sda
/dev/sda:
Model=SAMSUNG HE253GJ , FwRev=1AJ30001, SerialNo= S2B5J90ZC12060
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-0 ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
* signifies the current active mode
方法2:
[[email protected]]# dmesg | grep ATA
ata1: SATA max UDMA/133 cmd 0xf190 ctl 0xf180 bmdma 0xf150 irq 185
ata2: SATA max UDMA/133 cmd 0xf170 ctl 0xf160 bmdma 0xf158 irq 185
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-8: SAMSUNG HE253GJ, 1AJ30001, max UDMA/133
ata2: SATA link down (SStatus 0 SControl 300)
Vendor: ATA Model: SAMSUNG HE253GJ Rev: 1AJ3
ata3: SATA max UDMA/133 cmd 0xf130 ctl 0xf120 bmdma 0xf0f0 irq 185
ata4: SATA max UDMA/133 cmd 0xf110 ctl 0xf100 bmdma 0xf0f8 irq 185
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata5: PATA max UDMA/100 cmd 0xe040 ctl 0xe030 bmdma 0xe000 irq 177
[[email protected]]# dmidecode|more
# dmidecode 2.10
SMBIOS 2.4 present.
57 structures occupying 2318 bytes.
Table at 0x000E84B0.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Intel Corp.
Version: GTG4310H.86A.0019.2009.0625.1334
Release Date: 06/25/2009
.....
System Information 伺服器品牌
Manufacturer:
Proct Name: (沒有信息表示非品牌或未識別)
Version:
Serial Number:
UUID: 889BD67E-8D96-11DE-AC40-0013D4D9C9E8
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information 主板型號/主板信息
Manufacturer: Intel Corporation
Proct Name: DG43GT
Version: AAE62768-300
Serial Number: BTGT9340022N
Processor Information CPU信息/CPU型號/CPU主頻
Socket Designation: PROCESSOR
Type: Central Processor
Family: Pentium D
Manufacturer: Intel(R) Corp.
ID: 7A 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 23, Stepping 10
Version: Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
Voltage: 1.2 V
External Clock: 266 MHz
Max Speed: 4000 MHz
Current Speed: 2931 MHz
Status: Populated, Enabled
Upgrade: Socket LGA775
Cache Information 硬體和CPU緩存情況
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 32 kB
Maximum Size: 32 kB
BIOS Language Information BIOS語言
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Physical Memory Array 主板最大支持內存
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002C, DMI type 19, 15 bytes
Memory Array Mapped Address 目前的內存
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Array Handle: 0x002B
Partition Width: 0
On Board Device Information 顯卡型號
Type: Video
Status: Enabled
Description: Intelr GMA X4500 Video Device
如何確定品牌伺服器,不受到忽悠(某日我們買了一台dell品牌伺服器,如何確定沒有被忽悠呢?):
[[email protected]]# dmidecode|more (如果能看到dell的型號,就可以肯定沒錯了)
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Proct Name: PowerEdge T110
Version: Not Specified
Serial Number: J47RBP1
UUID: 4C4C4544-0034-3710-8052-CAC04F425031
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0200, DMI type 2, 9 bytes
Base Board Information
Manufacturer: Dell Inc.
Proct Name: 0V52N7
Version: A02
Serial Number: ..CN708210CD0166.
Asset Tag: Not Specified
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Main Server Chassis
Lock: Present
Version: Not Specified
Serial Number: J47RBP1
D. 如何查看和停止Linux啟動的服務
ps -aux 查看所有進程, 其中有個PID,就是進程號。要結束某一進程的的話直接kill PID例如 kill 2033。
如果想查詢一個服務的進程號(前提是你知道是什麼服務)例如 pgrep httpd 檢查httpd服務各個進程號 出來幾個就表示有幾個進程 用 pkill httpd all 可以直接結束所有與httpd相關的進程。
有些進程如果殺不掉 可以暴力點 kill -9 +PID
E. 查看linux開啟了哪些服務
linux系統使用 chkconfig --list 查看當前開啟的服務
1. chkconfig --list 查詢出所有當前運行的服務
2. chkconfig --list atd 查詢atd服務的當前狀態
3.chkconfig --list |grep on查看當前處於運行狀態的服務,用此語句過濾即可
(5)查看linux所有服務擴展閱讀:
chkconfig在沒有參數運行時,顯示用法。如果加上服務名,那麼就檢查這個服務是否在當前運行級啟動。如果是,返回true,否則返回false。如果在服務名後面指定了on,off或者reset,那麼chkconfi 會改變指定服務的啟動信息。
on和off分別指服務被啟動和停止,reset指重置服務的啟動信息,無論有問題的初始化腳本指定了什麼。on和off開關,系統默認只對運行級3,4,5有效,但是reset可以對所有運行級有效。
參考資料來源:linux官網