系統觀察與設定
目標:
1. 了解系統資源,何謂系統資源 ?
a. 硬碟 - 硬碟有多大 ? 如何分割 ? 分割區編號 ? 有無掛載點 ?
b. 記憶體容量 - 記憶體多大 ? 虛擬記憶體多大 ? 目前記憶體狀態 ? 是否有記憶體不足情況 ?
c. 音效卡 - ??
d. CPU - 廠牌、型號、速度、是否有 bug、指令集、共幾個核心
e. 網路卡 - 廠牌、型號、速度
f. 顯示卡 - 廠牌、型號
g. 其它資源 - 例如外接式硬碟、webcam .. 等
2. 了解系統資源後我們才能設定並使用這些系統資源,上述的內容都是所謂的系統資源。
***
觀察目前掛載之硬碟:
df -h
檔案系統 Size Used Avail Use% 掛載點
/dev/sda1 37G 3.1G 32G 9% /
tmpfs 2.0G 4.0K 2.0G 1% /lib/init/rw
udev 2.0G 184K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/sda5 74G 58G 13G 83% /home
/dev/sda2 138G 92G 40G 71% /opt
/dev/sda3 28G 7.1G 20G 27% /usr
上面的資訊告訴我們目前掛載的硬碟為 /dev/sda,其分割區分別掛載至不同目錄,我們亦可從上述資料中發現每個分割區的大小及所剩容量。與之前上課不同的是 /opt 為獨立掛載之分割區,其原因是我們需要 /opt 來安裝 EDA 伺服器。但是我們無法得知是否有 swap,以及 swap 位於那個分割區,因此需要以下指令:
fdisk -lu /dev/sda
Disk /dev/sda: 320.1 GB, 320071851520 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625140335 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00036986
Device Boot Start End Blocks Id System
/dev/sda1 * 63 78124094 39062016 83 Linux
/dev/sda2 78124095 371085434 146480670 83 Linux
/dev/sda3 371085435 429674489 29294527+ 83 Linux
/dev/sda4 429674551 625137344 97731397 5 Extended
/dev/sda5 429674553 585922679 78124063+ 83 Linux
/dev/sda6 585922743 625137344 19607301 82 Linux swap / Solaris
從上面資訊我們可看出 /dev/sda 硬碟為 320 GB大小之硬碟,其分割區 /dev/sda6 為 swap。
觀察記憶體容量
free -m
total used free shared buffers cached
Mem: 4004 959 3045 0 346 240
-/+ buffers/cache: 372 3632
Swap: 19147 0 19147
Mem:指的是實體記憶體,總共有 4004 MB
Swap: 指的是虛擬記憶體,總共有 19147 MB,當實體記憶體夠大,且沒有用完的情況下,虛擬記憶體不會被使用到。
cache - 快取記憶體,小抄
1. 觀看本機之介面,請執行 lspci 指令來觀察系統資源,以某台主機來說,其輸出如下:
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 10)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9400 GT] (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
因此藉由 lspci 指令,我們可以讀取系統之硬體組態,除非某硬體太新變成 Unknown,否則一般常見介面卡、顯卡、USB .. 等均可以此指令讀出。
練習:請執行 lspci,並觀測自身主機的介面型號
Shift + PageUP 往上捲
Shift + PageDn 往下捲
2. 觀看本機 CPU 資訊
cat /proc/cpuinfo -> 觀察 CPU 型號
X86 CPU 為 CISC -> Complex Instruction Set CPU
ARM CPU 為 RISC -> Reduced Instruction Set CPU
3. free -m -> 觀察主記憶體及虛擬記憶體容量
3.1 如何支援超過 4G 以上之主記憶體 ?
我們使用 aptitude 可以查到有個套件名稱為
linux-image-2.6.32-5-686
其中 2.6.32-5 是核心版本,而 686 指的是 CPU 架構。
另一個套件名稱為:
linux-image-2.6.32-5-686-bigmem
後面加 bigmem 的主要意思是支援 4GB ~ 64 GB 記憶體之主機。
4. uname -a -> 觀看開機核心版本
5. dmesg -> 觀察系統訊息,由於系統訊息太多行,因此通常的作法是「轉向」至某一個檔案,再使用 vi 觀看,請執行:
dmesg > dmesg.log
hint: 轉向請參考鳥哥第11章 - http://linux.vbird.org/linux_basic/0320bash.php
6. 網路設定檔:/etc/network/interfaces
其內容如下:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface -> lo 是指本機 IP,
auto lo -> 每一台 lo 的 IP 都是 127.0.0.1
iface lo inet loopback
# The primary network interface
allow-hotplug eth0 -> eth0 是網路卡的第一個介面
iface eth0 inet static
address 10.7.1.29
netmask 255.255.255.0
network 10.7.1.0
broadcast 10.7.1.255
gateway 10.7.1.254
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search eecs.stut.edu.tw
網路設定:
ifconfig
root@pc-29:/home/herman# ifconfig
eth0 Link encap:Ethernet HWaddr 00:24:1d:12:5c:c7
^^^^^^^^^^^^^^^^^^^^^^^^ 網卡卡號
inet addr:10.7.1.29 Bcast:10.7.1.255 Mask:255.255.255.0
^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^
IP 位址 廣播位址 網路遮罩
inet6 addr: fe80::224:1dff:fe12:5cc7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2169750 errors:0 dropped:1177 overruns:0 frame:0
TX packets:245495 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:403019350 (384.3 MiB) TX bytes:39846652 (38.0 MiB)
Interrupt:43 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:142137 errors:0 dropped:0 overruns:0 frame:0
TX packets:142137 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8077705 (7.7 MiB) TX bytes:8077705 (7.7 MiB)
7. 呼叫網路上的主機 ping 主機名稱/IP,例如:
ping 163.26.229.252
假設我們發現系統好像當掉了,接下來請輸入 Ctrl+C 中斷 ping 指令,會出現以下訊息:
^C
--- 163.26.229.252 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3023ms
上面訊息告訴我們送給 163.26.229.252 的 4 個封包全部被退回, 100 % 的封包消失,我們可以因而推論 163.26.229.252 目前是沒有連線/無法動作/維護當中的
先確定網路連線正確,而且是 eth0 網路介面。第一次登入後,我們先確定網路有連線,請執行:
ping 163.26.229.254 (Gateway - 閘道 IP)
如果沒有動作,請按 Ctrl+C 中斷此程式,此時我們可以看到有多少封包傳輸,多少封包丟掉。如果出現以下訊息:
herman@debian:~$ ping 163.26.229.254
PING 163.26.229.254 (163.26.229.254) 56(84) bytes of data.
64 bytes from 163.26.229.254: icmp_seq=1 ttl=255 time=0.392 ms
64 bytes from 163.26.229.254: icmp_seq=2 ttl=255 time=0.362 ms
64 bytes from 163.26.229.254: icmp_seq=3 ttl=255 time=0.408 ms
64 bytes from 163.26.229.254: icmp_seq=4 ttl=255 time=0.754 ms
64 bytes from 163.26.229.254: icmp_seq=5 ttl=255 time=0.638 ms
64 bytes from 163.26.229.254: icmp_seq=6 ttl=255 time=0.438 ms
64 bytes from 163.26.229.254: icmp_seq=7 ttl=255 time=0.493 ms
64 bytes from 163.26.229.254: icmp_seq=8 ttl=255 time=0.327 ms
^C
--- 163.26.229.254 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7003ms
rtt min/avg/max/mdev = 0.327/0.476/0.754/0.139 ms
表示工作正常。理論上,上面的 icmp_seq 順序要從 1、2 .. 開始往上數。萬一其數字不連貫的話叫「掉封包」。掉封包表示網路不穩,這必須進行網路除錯。
另一個要注意的重點是 time=0.xxx ms 這個訊息,這個數字愈小愈好,萬一數字很大表示我們這台主機跟對方主機的連線不順暢。
最後有一行訊息如下:
8 packets transmitted, 8 received, 0% packet loss, time 7003ms
這表示送了 8 個封包,回收 8 個封包,丟掉 0% 封包,總共時間為 7003 ms
沒有留言:
張貼留言