1. linux內存系統
維基網路——虛擬內存定義
All about Linux swap space
Linux將物理RAM (Random Access Memory) 劃分為稱為頁面的內存塊。交換是將一頁內存復制到硬碟上的預配置空間(稱為交換空間)以釋放改內存頁面上的過程。物理內存和交換空間的組合就是可用的虛擬內存量。
虛擬內存的那點事兒
進程是與其他進程共享CPU和內存資源的。為了有效的管理內存並減少出錯,現代操作系統提供了一種對主存的抽象概念,即:虛擬內存( Virtual Memory )。 虛擬內存為每個進程提供一個一致的,私有的地址空間,每個進程擁有一片連續完整的內存空間。
正如 維基網路 所說,虛擬內存不只是「使用硬碟空間來擴展內存」的技術。 虛擬內存的重要意義是它定義了一個連續的虛擬地址空間, 使得程序編寫難度降低。並且, 把內存擴展到硬碟空間只是使用虛擬內存的必然結果,虛擬內存空間會存在硬碟中,並且會被全部放入內存中緩沖(按需),有的操作系統還會在內存不夠的情況下,將一進程的內存全部放入硬碟空間中,並在切換到進程時再從硬碟讀取 (這也是Windows會經常假死的原因...)。
虛擬內存主要提供了如下三個重要的能力:
內存通常被組織為一個由M個連續的位元組大小的單元組成的數組。每個位元組都有一個唯一的物理地址 (Physical Address PA) ,作為到數組的索引。
CPU訪問內存最簡單直接的方法就是使用物理地址,這種定址方式稱為 物理定址 。
現代計算機使用的是一種被稱為虛擬定址 (Virtual Addressing) 的定址方式。 使用虛擬定址,CPU需要將虛擬地址翻譯成物理地址,這樣才能訪問到真實的物理內存。
虛擬定址需要硬體與操作系統之間相互合作。 CPU中含有一個被稱為內存管理單元 (Memory Management Unit,MMU) 的硬體,它的功能是將虛擬地址轉換稱為物理地址,MMU需要藉助存放在內存中的 頁表 來動態翻譯虛擬地址,該頁表由操作系統管理。
分頁表是一種數據結構,它用於計算機操作系統中虛擬內存系統,其存儲了虛擬地址到物理地址之間的映射。虛擬地址在訪問進程中是唯一的,而物理地址在硬體(比如內存)中是唯一的。
在操作系統中使用 虛擬內存 ,每個進程會認為使用一塊大的連續的內存,事實上,每個進程的內存散布在 物理內存 的不同區域。或者可能被調出到備份存儲中(一般是硬碟)。當一個進程請求自己的內存,操作系統負責把程序生成的虛擬地址,映射到實際存儲的物理內存上。操作系統在 分頁表 中存儲虛擬地址到物理地址的映射。每個映射被稱為 分頁表項(page table entry ,PTE) 。
在一個簡單的地址空間方案中,由虛擬地址定址的頁與物理內存中的幀之間的關系。物理內存可以包含屬於許多進程的頁。如果不經常使用,或者物理內存已滿,可以將頁面分頁到磁碟。在上圖中,並非所有頁面都在物理內存中。
虛擬地址到物理地址的轉換(即虛擬內存的管理)、內存保護、CPU高速緩存的控制。
現代的內存管理單元是以 頁 的方式,分割虛擬地址空間(處理器使用的地址范圍)的;頁的大小是2的n次方,通常為幾KB(位元組)。地址尾部的n位(頁大小的2的次方數)作為頁內的偏移量保持不變。其餘的地址位(address)為(虛擬)頁號。
內存管理單元通常藉助一種叫做轉譯旁觀緩沖器(Translation Lookaside Buffer,TLB)和相聯高速緩存來將虛擬頁號轉換為物理頁號。當後備緩沖器中沒有轉換記錄時,則使用一種較慢的機制,其中包括專用硬體的數據結構或軟體輔助手段。這個數據結構稱為 分頁表 ,頁表中的數據叫做 分頁表項 (page table entry PTE)。物理頁號結合頁偏移量便提供了完整的物理地址。
頁表 或 轉換後備緩沖器數據項應該包括的信息有:
有時候,TLB和PTE會 禁止對虛擬頁訪問 ,這可能是因為沒有RAM與虛擬頁相關聯。如果是這種情況,MMU將向CPU發出頁錯誤的信號,操作系統將進行處理,也許會尋找RAM的空白幀,同時建立一個新的PTE將之映射到所請求的虛擬地址。如果沒有空閑的RAM,可能必須關閉一個已經存在的頁面,使用一些替換演算法,將之保存到磁碟中(這被稱為頁面調度)。
當需要將虛擬地址轉換為物理地址時,首先搜索TLB,如果找到匹配(TLB)命中,則返回物理地址並繼續存儲器訪問。然而,如果沒有匹配(稱為TLB未命中),則MMU或操作系統TLB未命中處理器通常會查找 頁表 中的地址映射以查看是否存在映射(頁面遍歷),如果存在,則將其寫回TLB(這必須完成,因為硬體通過虛擬存儲器系統中的TLB訪問存儲器),並且重啟錯誤指令(這也可以並行發生)。此後續轉換找到TLB命中,並且內存訪問將繼續。
虛擬地址到物理地址的轉換過程,如果虛擬內存不存在與TLB,轉換會被重置並通過分頁表和硬體尋找。
通常情況下,用於處理此中斷的程序是操作系統的一部分。如果操作系統判斷此次訪問有效,那麼 操作系統會嘗試將相關的分頁從硬碟上的虛擬內存文件調入內存。 而如果訪問是不被允許的,那麼操作系統通常會結束相關的進程。
雖然叫做「頁缺失」錯誤,但實際上這並不一定是一種錯誤。而且這一機制是利用虛擬內存來增加程序可用內存空間。
發生這種情況的可能性:
當原程序再次需要該頁內的數據時,如果這一頁確實沒有被分配出去,那麼系統只需要重新為該頁在MMU內注冊映射即可。
操作系統需要:
硬性頁缺失導致的性能損失是很大的。
另外,有些操作系統會將程序的一部分延遲到需要使用的時候再載入入內存執行,以此提升性能。這一特性也是通過捕獲硬性頁缺失達到的。
當硬性頁缺失過於頻繁發生時,稱發生 系統顛簸。
具體動作與所使用的操作系統有關,比如Windows會使用異常機制向程序報告,而類Unix系統則使用信號機制。
盡管在整個運行過程中,程序引用不同的頁面總數(也就是虛擬內存大小)可能超出了物理存儲器(DRAM)總大小,但是程序常常在較小的活動頁面上活動,這個集合叫做工作集或者常駐集。在工作集被緩存後,對它的反復調用會使程序命中提高,從而提高性能。
大部分的程序都可以在存儲器獲取數據和讀取中達到穩定的狀態,當程序達到穩定狀態時,存儲器的使用量通常都不會太大。虛擬內存雖然可以有效率控制存儲器的使用, 但是大量的頁缺失還是造成了系統遲緩的主要因素。 當工作集的大小超過物理存儲器大小,程序將會發生一種不幸的情況,這種情況稱為 「顛簸」 ,頁面將不停的寫入、釋放、讀取,由於大量的丟失(而非命中)而損失極大性能。用戶可以增加隨機存取存儲器的大小或是減少同時在系統里運行程序的數量來降低系統顛簸的記錄。
推薦閱讀:
操作系統--分頁(一)
操作系統實現(二):分頁和物理內存管理
2. linux 如何查看硬碟大小,內存大小等系統信息及硬體信息
一、linux CPU大小x0dx0a[root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"x0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0aphysical id : 0x0dx0aphysical id : 0x0dx0aphysical id : 3x0dx0aphysical id : 3x0dx0a[root@idc ~]#x0dx0ax0dx0a說明:Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。x0dx0a其實應該通過Physical Processor ID來區分單核和雙核。而Physical Processor ID可以從cpuinfo或者dmesg中找到. flags 如果有 ht 說明支持超線程技術 判斷物理CPU的個數可以查看physical id 的值,相同則為同一個物理CPUx0dx0a可以看到上面,這台機器有兩個雙核的CPU,ID分別是0和3,大小是2.8G。x0dx0a二、內存大小x0dx0a[root@xbidc ~]# cat /proc/meminfo |grep MemTotalx0dx0aMemTotal: 1034612 kBx0dx0a[root@xbidc ~]# x0dx0ax0dx0a三、硬碟大小x0dx0a[root@xbidc ~]# fdisk -l |grep Diskx0dx0aDisk /dev/sda: 300.0 GB, 300000000000 bytesx0dx0a[root@xbidc ~]#x0dx0ax0dx0a四、 更多查看linux硬體信息的方法x0dx0auname -a # 查看內核/操作系統/CPU信息的linux系統信息命令x0dx0ahead -n 1 /etc/issue # 查看操作系統版本,是數字1不是字母Lx0dx0acat /proc/cpuinfo # 查看CPU信息的linux系統信息命令x0dx0ahostname # 查看計算機名的linux系統信息命令x0dx0alspci -tv # 列出所有PCI設備x0dx0alsusb -tv # 列出所有USB設備的linux系統信息命令x0dx0alsmod # 列出載入的內核模塊x0dx0aenv # 查看環境變數資源x0dx0afree -m # 查看內存使用量和交換區使用量x0dx0adf -h # 查看各分區使用情況x0dx0a -sh # 查看指定目錄的大小x0dx0agrep MemTotal /proc/meminfo # 查看內存總量x0dx0agrep MemFree /proc/meminfo # 查看空閑內存量x0dx0auptime # 查看系統運行時間、用戶數、負載x0dx0acat /proc/loadavg # 查看系統負載磁碟和分區x0dx0amount | column -t # 查看掛接的分區狀態x0dx0afdisk -l # 查看所有分區x0dx0aswapon -s # 查看所有交換分區x0dx0ahdparm -i /dev/hda # 查看磁碟參數(僅適用於IDE設備)x0dx0admesg | grep IDE # 查看啟動時IDE設備檢測狀況網路x0dx0aifconfig # 查看所有網路介面的屬性x0dx0aiptables -L # 查看防火牆設置x0dx0aroute -n # 查看路由表x0dx0anetstat -lntp # 查看所有監聽埠x0dx0anetstat -antp # 查看所有已經建立的連接x0dx0anetstat -s # 查看網路統計信息進程x0dx0aps -ef # 查看所有進程x0dx0atop # 實時顯示進程狀態用戶x0dx0aw # 查看活動用戶x0dx0aid # 查看指定用戶信息x0dx0alast # 查看用戶登錄日誌x0dx0acut -d: -f1 /etc/passwd # 查看系統所有用戶x0dx0acut -d: -f1 /etc/group # 查看系統所有組x0dx0acrontab -l # 查看當前用戶的計劃任務服務x0dx0achkconfig _list # 列出所有系統服務x0dx0achkconfig _list | grep on # 列出所有啟動的系統服務程序x0dx0arpm -qa # 查看所有安裝的軟體包x0dx0acat /proc/cpuinfo :查看CPU相關參數的linux系統命令x0dx0acat /proc/partitions :查看linux硬碟和分區信息的系統信息命令x0dx0acat /proc/meminfo :查看linux系統內存信息的linux系統命令x0dx0acat /proc/version :查看版本,類似uname -rx0dx0acat /proc/ioports :查看設備io埠x0dx0acat /proc/interrupts :查看中斷x0dx0acat /proc/pci :查看pci設備的信息x0dx0acat /proc/swaps :查看所有swap分區的信息
3. Linux可以看設備內存和快閃記憶體嗎
當然可以。
方法:
工具/原料:
Linux version 3.19.0-15-generic Ubuntu 4.9.2-10ubuntu13
方法/步驟
1/4分步閱讀
第一種方法:/proc/meminfo
>> /proc文件夾中的meminfo文件可以提供內存信息。
2/4
>> cd /proc 進入/proc文件夾
3/4
>> dir可以看到該文件夾中的meminfo文件
4/4
>> more meminfo查看該文件的內容。
PS:Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
4. Linux伺服器硬體情況的查看
1、首先是對於CPU的說明
伺服器CPU性能參數主要信息可以通過查看 /proc/cpuinfo 獲得。具體查看指令及效果如下:
顯示這台伺服器上有2個物理CPU
顯示這台伺服器的物理核數為16個
顯示運行模式為64位
顯示為Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
命令:
顯示此伺服器的線程數為64
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。下面詳細介紹它的使用方法。top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態.如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止.比較准確的說,top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最「敏感」的任務列表.該命令可以按CPU使用.內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定.
1.命令格式:
top [參數]
2.命令功能:
顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等
3.命令參數:
-b 批處理
-c 顯示完整的治命令
-I 忽略失效過程
-s 保密模式
-S 累積模式
-i<時間> 設置間隔時間
-u<用戶名> 指定用戶名
-p<進程號> 指定進程
-n<次數> 循環顯示的次數
4.使用實例:
實例1:通過 Top 命令顯示進程信息
命令:
統計信息區:
前五行是當前系統情況整體的統計信息區。下面我們看每一行信息的具體意義。
第一行,任務隊列信息,同 uptime 命令的執行結果,具體參數說明情況如下:
10:38:58 — 當前系統時間
up 39 days, 19:47 — 系統已經運行了39天19小時47分鍾(在這期間系統沒有重啟過的吆!)
1 users — 當前有1個用戶登錄系統
load average: 0.00, 0.00, 0.00 — load average後面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。
load average數據是每隔5秒鍾檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行,Tasks — 任務(進程),具體信息說明如下:
系統現在共有769個進程,其中處於運行中的有1個,463個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行,cpu狀態信息,具體屬性說明如下:
0.0%us — 用戶空間佔用CPU的百分比。
0.0% sy — 內核空間佔用CPU的百分比。
0.0% ni — 改變過優先順序的進程佔用CPU的百分比
100.0% id — 空閑CPU百分比
0.0% wa — IO等待佔用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)佔用CPU的百分比
0.0% si — 軟中斷(Software Interrupts)佔用CPU的百分比
備註:在這里CPU的使用比率和windows概念不同,需要理解linux系統用戶空間和內核空間的相關知識!
第四行,內存狀態,具體信息如下:
65600012k total — 物理內存總量
1785256k used — 使用中的內存總量
62385920k free — 空閑內存總量
1428836k buffers — 緩存的內存量
第五行,swap交換分區信息,具體信息說明如下:
2097148k total — 交換區總量
918340k used — 使用的交換區總量
1178808k free — 空閑交換區總量
備註:
第四行中使用中的內存總量(used)指的是現在系統內核控制的內存數,空閑內存總量(free)是內核還未納入其管控范圍的數量。納入內核管理的內存不見得都在使用中,還包括過去使用過的現在可以被重復利用的內存,內核並不把這些可被重新使用的內存交還到free中去,因此在linux上free內存會越來越少,但不用為此擔心。
對於內存監控,在top里我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。
第六行,空行。
第七行以下:各進程(任務)的狀態監控,項目列信息說明如下:
PID — 進程id
USER — 進程所有者
PR — 進程優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)
或者通過 free 命令顯示系統內存的使用情況,包括物理內存、交換內存(swap)和內核緩沖區內存。
命令:
顯示我當前的伺服器的物理內存是62G,其中交換內存是2個G,一共剩餘是60G的
三、查看Linux內核當前的系統版本號
命令:
顯示的當前的伺服器Linux內核是Ubuntu系統,版本號是18.04.6
5. 在linux 下怎麼查看伺服器的cpu和內存的硬體信息
可以按照如下方式進行操作:
一、查看cpu總個數方法:
1、首先執行top命令,如下圖中內容所表示。
2、在top命令的顯示界面,按數字鍵1,即可查看到當前系統中的總cpu數,如下圖中內容所表示。
二、查看總內存的方法:
1、free命令主要用於顯示內存數量,如下圖中內容所表示。
2、一般使用free命令的-h參數,更人性化的顯示,如下圖中內容所表示。
linux通用命令:
1、date:
2、stty-a:可以查看或者列印控制字元(Ctrl-C,Ctrl-D,Ctrl-Z等)
3、passwd:(用passwd-h查看)
4、logout,login:登錄shell的登錄和注銷命令
5、pwd:printworkingdirectory
6、more,less,headtail:顯示或部分顯示文件內容.
7、lp/lpstat/cancel,lpr/lpq/lprm:列印文件.
8、更改文件許可權:chmo+x...
9、刪除非空目錄:rm-frdir
10、拷貝目錄:cp-Rdir
6. Linux系統的基本配置要求是什麼
Linux系統最低配置:
CPU:700MHz;
內存:384MB;
硬碟:6GB剩餘空間;
顯卡:800x600以上解析度。
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
https://imgcdn.idongde.com/qa/2020/06/28/14/1593326438419354
(6)linux內存硬體擴展閱讀:
Linux主要特性:
1、完全免費
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
2、多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
3、良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
4、支持多種平台
Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux2.4版內核已經能夠完全支持Intel64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
參考資料來源:網路-linux
7. linux怎麼看內存型號
Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。下面是我帶來的關於linux怎麼看內存型號的內容,歡迎閱讀!
linux怎麼看內存型號:
在linux查看內存型號的命令
$ sudo dmidecode -t memory
# dmidecode 2.9
SM BIOS 2.4 present.
Handle 0x000A, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: No Error
Number Of Devices: 2
Handle 0x000B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000A
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: SODIMM
Set: None
Locator: DIMM #1
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz (1.2 ns)
Manufacturer: A-Data Technology
Serial Number: 00000000
Asset Tag: Not Specified
Part Number: ADOVF1A083FE
Handle 0x000C, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000A
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: None
Locator: DIMM #2
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz (1.2 ns)
Manufacturer: A-Data Technology
Serial Number: 00000000
Asset Tag: Not Specified
Part Number: ADOVF1B163G2G
think in coding
相關 閱讀推薦 :
EDO內存被SDRAM所取代有其必然性,因為,市場上主流CPU的主頻已高達2G赫茲,未來CPU的主頻還會越來越高。但由於傳統內存條的讀寫速度遠遠跟不上CPU的速度,迫使CPU插入等待指令周期,從而大大降低了電腦的整體性能。為了緩解這個內存瓶頸的問題,我們就必須採用新的內存結構,即SDRAM。因為,從理論上說,SDRAM與CPU頻率同步,共享一個時鍾周期。
SDRAM內含兩個交錯的存儲陣列,當CPU從一個存儲陣列訪問數據的同時,另一個已准備好讀寫數據,通過兩個存儲陣列的緊密切換,讀取效率得到成倍提高。最新的SDRAM的存儲速度已高達5納秒,所以,SDRAM已成為內存發展的主流。
當然,EDO內存也並沒有完全舉手投降,相反,內存條憑借其出色的視頻特性和低廉的價格,在顯示內存等領域仍是連連得手,眾多低檔顯卡更是無一例外地採用EDO內存。另外,許多硬碟、光碟機和列印機也是採用EDO緩存,可見,EDO內存還真是寶刀不老啊!
RAM有些像教室里的黑板,上課時老師不斷地往黑板上面寫東西,下課以後全部擦除。RAM要求每時每刻都不斷地供電,否則數據會丟失。如果在關閉電源以後RAM中的數據也不丟失就好了,這樣就可以在每一次開機時都保證電腦處於上一次關機的狀態,而不必每次都重新啟動電腦,重新打開應用程序了。
但是RAM要求不斷的電源供應,那有沒有辦法解決這個問題呢?隨著技術的進步,人們想到了一個辦法,即給RAM供應少量的電源保持RAM的數據不丟失,這就是電腦的待機功能,特別在Win2000里這個功能得到了很好的應用,休眠時電源處於連接狀態,但是耗費少量的電能。
按內存條的介面形式,常見內存條有兩種:單列直插內存條(SIMM),和雙列直插內存條(DIMM)。SIMM內存條分為30線,72線兩種。DIMM內存條與SIMM內存條相比引腳增加到168線。DIMM可單條使用,不同容量可混合使用,SIMM必須成對使用。
看了linux怎麼看內存型號 文章 內容的人還看:
1. Linux使用dmidecode命令查看內存型號
2. linux怎麼查看內存
3. linux如何查看內存大小
4. linux查詢物理內存的方法有哪些
5. Linux內核訪問用戶空間內存的方法是什麼
6. linux查看多個cpu信息
7. 用linux查看每個CPU的使用率
8. win7如何查內存型號
9. 詳解Linux系統內存知識及調優方案
10. linux怎麼看內存大小
8. linux中物理內存和虛擬內存
vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監控。他是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。vmstat 工具提供了一種低開銷的系統性能觀察方式。因為 vmstat 本身就是低開銷工具,在非常高負荷的伺服器上,你需要查看並監控系統的健康情況,在控制窗口還是能夠使用vmstat 輸出結果。在學習vmstat命令前,我們先了解一下Linux系統中關於物理內存和虛擬內存相關信息。
物理內存和虛擬內存區別:
我們知道,直接從物理內存讀寫數據要比從硬碟讀寫數據要快的多,因此,我們希望所有數據的讀取和寫入都在內存完成,而內存是有限的,這樣就引出了物理內存與虛擬內存的概念。
物理內存就是系統硬體提供的內存大小,是真正的內存,相對於物理內存,在linux下還有一個虛擬內存的概念,虛擬內存就是為了滿足物理內存的不足而提出的策略,它是利用磁碟空間虛擬出的一塊邏輯內存,用作虛擬內存的磁碟空間被稱為交換空間(Swap Space)。
作為物理內存的擴展,linux會在物理內存不足時,使用交換分區的虛擬內存,更詳細的說,就是內核會將暫時不用的內存塊信息寫到交換空間,這樣以來,物理內存得到了釋放,這塊內存就可以用於其它目的,當需要用到原始的內容時,這些信息會被重新從交換空間讀入物理內存。
linux的內存管理採取的是分頁存取機制,為了保證物理內存能得到充分的利用,內核會在適當的時候將物理內存中不經常使用的數據塊自動交換到虛擬內存中,而將經常使用的信息保留到物理內存。
要深入了解linux內存運行機制,需要知道下面提到的幾個方面:
首先,Linux系統會不時的進行頁面交換操作,以保持盡可能多的空閑物理內存,即使並沒有什麼事情需要內存,Linux也會交換出暫時不用的內存頁面。這可以避免等待交換所需的時間。
其次,linux進行頁面交換是有條件的,不是所有頁面在不用時都交換到虛擬內存,linux內核根據」最近最經常使用「演算法,僅僅將一些不經常使用的頁面文件交換到虛擬內存,有時我們會看到這么一個現象:linux物理內存還有很多,但是交換空間也使用了很多。其實,這並不奇怪,例如,一個佔用很大內存的進程運行時,需要耗費很多內存資源,此時就會有一些不常用頁面文件被交換到虛擬內存中,但後來這個佔用很多內存資源的進程結束並釋放了很多內存時,剛才被交換出去的頁面文件並不會自動的交換進物理內存,除非有這個必要,那麼此刻系統物理內存就會空閑很多,同時交換空間也在被使用,就出現了剛才所說的現象了。關於這點,不用擔心什麼,只要知道是怎麼一回事就可以了。
最後,交換空間的頁面在使用時會首先被交換到物理內存,如果此時沒有足夠的物理內存來容納這些頁面,它們又會被馬上交換出去,如此以來,虛擬內存中可能沒有足夠空間來存儲這些交換頁面,最終會導致linux出現假死機、服務異常等問題,linux雖然可以在一段時間內自行恢復,但是恢復後的系統已經基本不可用了。
因此,合理規劃和設計linux內存的使用,是非常重要的。
虛擬內存原理:
在系統中運行的每個進程都需要使用到內存,但不是每個進程都需要每時每刻使用系統分配的內存空間。當系統運行所需內存超過實際的物理內存,內核會釋放某些進程所佔用但未使用的部分或所有物理內存,將這部分資料存儲在磁碟上直到進程下一次調用,並將釋放出的內存提供給有需要的進程使用。
在Linux內存管理中,主要是通過「調頁Paging」和「交換Swapping」來完成上述的內存調度。調頁演算法是將內存中最近不常使用的頁面換到磁碟上,把活動頁面保留在內存中供進程使用。交換技術是將整個進程,而不是部分頁面,全部交換到磁碟上。
分頁(Page)寫入磁碟的過程被稱作Page-Out,分頁(Page)從磁碟重新回到內存的過程被稱作Page-In。當內核需要一個分頁時,但發現此分頁不在物理內存中(因為已經被Page-Out了),此時就發生了分頁錯誤(Page Fault)。
當系統內核發現可運行內存變少時,就會通過Page-Out來釋放一部分物理內存。經管Page-Out不是經常發生,但是如果Page-out頻繁不斷的發生,直到當內核管理分頁的時間超過運行程式的時間時,系統效能會急劇下降。這時的系統已經運行非常慢或進入暫停狀態,這種狀態亦被稱作thrashing(顛簸)。
總結:物理內存就是硬體提供的真實的內存,比如我們電腦內存不夠了,就會加一個內存條
虛擬內存就是從磁碟上虛擬出來的一塊邏輯內存,用做虛擬內存的磁碟空間被稱為交換空間(Swap Space
經常使用的文件會優先放在物理內存,不經常使用的文件會放到虛擬內存裡面。
9. 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