linuxtmpfstmpfs
⑴ linux tmpfs區滿了過後怎麼清理
tmpfs文件系統是通過內存虛擬出來的磁碟(所以這個文件系統的大小在每個主機上都不一樣),屬於是針對內存的掛載,它每次開機會掛載到/dev/shm這個目錄。因為是內存的掛載,內存的特性你應該知道重啟過後裡面的內容就全沒有了,所以一般不需要清理,每次開機後它都是空的。如果你需要手動清理,就清理/dev/shm這個目錄(注意是個目錄而不是個設備文件),因為tmpfs是開機掛載到這個目錄。
⑵ Linux 格式化硬碟方法教程
我們使用Linux過程中,和Windows也一樣。使用硬碟的時候,出現了問題,需要對硬碟進行格式化。那 Linux 如何格式化硬碟呢?下面就和大家說一下 Linux 格式化硬碟的方法和步驟。
步驟如下:
1、硬碟的介面類型
硬碟的介面一般分為兩種,一種是IDE並行介面,一種是SATA串列介面, 在 Linux 上面IDE介面的硬碟被識別為/dev/hd[a-z]這樣的設備,其中hdc表示光碟機設備,這是因為主板上面一般有兩個IDE插槽,一個IDE插槽可以接兩個硬碟,而光碟機是接著IDE的第二個插槽上面的第一個介面上面。其他諸如SCSI,SAS,SATA,USB等介面的設備在linux識別為/dev/sd[a-z]。
2、 Linux 硬碟的分區
磁碟的分區分為: primary(主分區)、extended(擴展分區)、Logical (邏輯分區)且主分區加上擴展分區的個數小於等於4個。且擴展分區最多隻有一個,擴展分區是不能直接在裡面寫入數據的,擴展分區裡面新建邏輯分區才能讀寫數據。如果看見一個硬碟有很多分區,則其實是在擴展分區裡面新建的邏輯分區。
主分區從 sdb1--sdb4
邏輯分區是從 sdb5--sdbN
如果所示linux硬碟分區之間的關系
第一種情況為:四個主分區
第二種情況為:三個主分區+一個擴展分區(擴展分區裡麵包括邏輯分區)
4、使linux內核識別分區信息
cat /proc/partitions 查看內核識別的分區信息
[root@Redhat5 ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 104391 sda1
8 2 41945715 sda2
8 3 1052257 sda3
253 0 30703616 dm-0
253 1 5111808 dm-1
讓內核重新讀取硬體分區表有兩個命令
partprobe /dev/sda ------》 redhat 5.x ,redhat 6.x需要重啟
partx -a /dev/sda5 /dev/sda-------》redhat 6.x
內核載入分區信息之後再查看
[root@Redhat5 ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 104391 sda1
8 2 41945715 sda2
8 3 1052257 sda3
8 4 0 sda4
8 5 1959898 sda5
8 6 3911796 sda6
253 0 30703616 dm-0
253 1 5111808 dm-1
5、格式化分區
格式化分區的命令
mkfs -t fstype /dev/part -t選擇格式化的類型,然後是那個分區
mkfs.ext2 /dev/part 格式化為ext2的類型,然後是接那個分區
mkfs.ext3 /dev/part 格式化為ext3的類型,然後是接那個分區
mkfs.ext4 /dev/part 格式化為ext4的類型,然後是接那個分區
mke2fs 比之前幾個更加強大的格式化分區的命令
這幾個命令之間相關的關系
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
mke2fs (man mke2fs):創建文件類型---》/etc/mke2fs.conf 配置文件
-t:文件類型
-j:相當於 ext3
-b:指定塊大小{1024”2048|4096byte},塊大小取決cpu對內存頁框大小的支持,x86系統默認頁
大小是4096,4k
-L: label 設定卷標
-m: #預留給管理使用的塊所佔的比率 一般用在分區很大的時候,#為數字
mke2fs -t ext3 /dev/sda5 #把分區格式為ext3格式的
mke2fs -t ext3 -b 2048 /dev/sda5 # 把分區的塊改成2048位元組,一般用於系統中小文件很多的情況
mke2fs -t ext3 -m 3 /dev/sda5 #把分區預留的空間改為所佔總空間的3%,默認為5%,因為當某個分區足夠大的時候,可以減少空間
mke2fs -t ext3 -L DATE /dev/sda5 #把分區的卷標設置為DATE
tune2fs 命令可以查看分區的詳細信息,mke2fs 與 tune2fs的關系和useradd與usermod的關系很類似。mke2fs支持的參數tune2fs大多數都支持,詳情請man tune2fs查看相關的幫助。
option
-l: 顯示文件系統超級塊信息;
-L label:重新設定卷標;
-m #: 調整預留給管理使用的塊所佔據總體空間的比例;
-r #: 調整預留給管理使用的塊個數;
-o:設定掛載默認選項
-O: 設定文件系統默認特性
-E: 調整文件系統的擴展屬性
tune2fs不支持-b參數改變塊的大小。
tune2fs -l /dev/sda5 可以詳細查看分區的信息
[root@Redhat5 ~]# tune2fs -l /dev/sda5 | grep “^Block size” //顯示sda5分區塊的大小
Block size: 4096
[root@Redhat5 ~]# tune2fs -l /dev/sda5 | grep “^Reserved” //顯示sda5預留空間
Reserved block count: 24498
Reserved GDT blocks: 119
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
tune2fs -L DATE /dev/sda5 #修改卷標
tune2fs -m 3 /dev/sda5 #修改預留給管理使用的塊所佔據總體空間的比例
e2label:顯示或設定卷標
e2label /dev/sda5 MYDATE
blkid :顯示設備的UUID及文件系統類型,及卷標
6、掛載
mount 掛載------》顯示的是/etc/mtab文件裡面的內容
mount [-t fstype] DEVICE MOUNT_POINT
命令 設備 掛載點
mount [-t fstype] LABEL=“卷標” MOUNT_POINT --》e2label查看標簽
mount [-t fstype] UUID=“UUID” MOUNT_POINT ----》blkid可以查看UUID
options:
-o:用於指定掛著選項,常用的掛著選項,選項有很多用逗號隔開
ro:只讀掛載
rw:讀寫掛載(默認)
noatime:關閉更新訪問時間
auto:是否能夠由“mount -a”掛載
defaults:相當於rw, suid, dev, exec, auto, nouser, async.
sync:同步
async:非同步
noexec:不容易設備中的二進制直接運行
remount:重新掛載
loop:本地回環設備: 掛載系統已經存在的鏡像
-t:
-v:verbose 顯示詳細信息
-n:掛載文件系統時,不更新/etc/mtab文件
-r:只讀掛載相當於“-o ro”
掛載的幾種方式
顯示系統已經掛載的文件
掛載分區sda5到/mnt/sda5目錄下
[root@Redhat5 ~]# mkdir /mnt/sda5 #創建一個掛載目錄
[root@Redhat5 ~]# mount /dev/sda5 /mnt/sda5/ #把分區掛載到新建的目錄裡面
[root@Redhat5 ~]# mount “ grep ”/dev/sda5“ #查看分區是否掛載
/dev/sda5 on /mnt/sda5 type ext3 (rw) #顯示分區已經掛載
[root@Redhat5 ~]# umount /dev/sda5 #卸載分區
[root@Redhat5 ~]#mount | grep ”/dev/sda5“ #發現分區已經被卸載
[root@Redhat5 ~]# blkid #顯示設備的UUID及文件系統類型,及卷標
/dev/mapper/vol0-home: UUID=”d1aeef77-bb47-4718-a91c-d4870b536440“ TYPE=”ext3“
/dev/sda3: LABEL=”SWAP-sda3“ TYPE=”swap“
/dev/sda1: LABEL=”/boot“ UUID=”5e5eaaac-cc56-42da-81eb-9adebff0fa2e“ TYPE=”ext3“
/dev/vol0/root: UUID=”4302a528-e88e-43d3-b3cc-1c2b29cda656“ TYPE=”ext3“
/dev/sda5: LABEL=”DATE“ UUID=”8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59“ TYPE=”ext3“
[root@Redhat5 ~]# mount LABEL=”DATE“ /mnt/sda5/ #可以查到到分區5的標簽為DATE,通
過掛載標簽來掛載分區
[root@Redhat5 ~]# mount | grep ”/dev/sda5“ #查看分區是否掛載
/dev/sda5 on /mnt/sda5 type ext3 (rw)
[root@Redhat5 ~]# umount /dev/sda5 #卸載分區
[root@Redhat5 ~]#mount | grep ”/dev/sda5“
[root@Redhat5 ~]# mount UUID=”8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59“ /mnt/sda5/
#通過掛載UUID來掛載分區
[root@Redhat5 ~]#mount | grep ”/dev/sda5“
/dev/sda5 on /mnt/sda5 type ext3 (rw)
用mount命令掛載的文件在系統開機的時候是不能自動掛載的,想要系統開機就掛載寫到配置文件即可/etc/fstab
echo ”LABEL=DATE /mnt/sde5 ext3 defaults 0 0“ 》》 /etc/fstab
/etc/fstab文件的格式
[root@Redhat5 ~]# cat /etc/fstab
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
欄位以空格分隔
1、掛載的設備:設備文件、卷標、UUID
2、掛載點: 與跟相關聯的目錄
3、文件系統類型:ext3,ext4
4、掛載選項:defaults表示使用默認選項,多個選項彼此間逗號分隔
5、轉儲頻率:0:從不備份、1:每日備份、2:每隔一日備份
6、自檢次序:0:不檢測、1:第一個檢測,一般只能為根文件系統第一個檢測 2 。。.9
補充:系統常用維護技巧
1,在 “開始” 菜單中選擇 “控制面板” 選項,打開 “控制面板” 窗口,單擊 “管理工具” 鏈接
2,在打開的 “管理工具” 窗口中雙擊 “事件查看器” 圖標
3, 接著會打開 “事件查看器” 窗口
4,在右側窗格中的樹狀目錄中選擇需要查看的日誌類型,如 “事件查看器本地--Win日誌--系統日誌,在接著在中間的 “系統” 列表中即查看到關於系統的事件日誌
5,雙擊日誌名稱,可以打開 “事件屬性” 對話框,切換到 “常規” 選項卡,可以查看該日誌的常規描述信息
6,切換到 “詳細信息” 選項卡,可以查看該日誌的詳細信息
7,打開 “控制面板” 窗口,單擊 “操作中心” 鏈接,打開 “操作中心” 窗口,展開 “維護” 區域
8,單擊 “查看可靠性歷史記錄” 鏈接,打開 “可靠性監視程序” 主界面,如圖所示, 用戶可以選擇按天或者按周為時間單位來查看系統的穩定性曲線表,如果系統近日沒出過什麼狀況, 那麼按周來查看會比較合適。觀察圖中的曲線可以發現,在某段時間內,系統遇到些問題,可靠性指數曲線呈下降的趨勢,並且在這段時間系統遇到了三次問題和一次警告,在下方的列表中可以查看詳細的問題信息。
相關閱讀:系統故障導致死機怎麼解決
1、病毒原因造成電腦頻繁死機
由於此類原因造成該故障的現象比較常見,當計算機感染病毒後,主要表現在以下幾個方面:
①系統啟動時間延長;
②系統啟動時自動啟動一些不必要的程序;
③無故死機
④屏幕上出現一些亂碼。
其表現形式層出不窮,由於篇幅原因就介紹到此,在此需要一並提出的是,倘若因為病毒損壞了一些系統文件,導致系統工作不穩定,我們可以在安全模式下用系統文件檢查器對系統文件予以修復。
2、由於某些元件熱穩定性不良造成此類故障(具體表現在CPU、電源、內存條、主板)
對此,我們可以讓電腦運行一段時間,待其死機後,再用手觸摸以上各部件,倘若溫度太高則說明該部件可能存在問題,我們可用替換法來診斷。值得注意的是在安裝CPU風扇時最好能塗一些散熱硅脂,但我在某些組裝的電腦上卻是很難見其蹤影,實踐證明,硅脂能降低溫度5—10度左右,特別是P Ⅲ 的電腦上,倘若不塗散熱硅脂,計算機根本就不能正常工作,曾遇到過一次此類現象。該機主要配置如下:磐英815EP主板、PⅢ733CPU、133外頻的128M內存條,當該機組裝完後,頻繁死機,連Windows系統都不能正常安裝,但是更換賽揚533的CPU後,故障排除,懷疑主板或CPU有問題,但更換同型號的主板、CPU後該故障也不能解決。後來由於發現其溫度太高,在CPU上塗了一些散熱硅脂,故障完全解決。實踐證明在賽揚533以上的CPU上必須要塗散熱硅脂,否則極有可能引起死機故障。
3、由於各部件接觸不良導致計算機頻繁死機
此類現象比較常見,特別是在購買一段時間的電腦上。由於各部件大多是靠金手指與主板接觸,經過一段時間後其金手指部位會出現氧化現象,在拔下各卡後會發現金手指部位已經泛黃,此時,我們可用橡皮擦來回擦拭其泛黃處來予以清潔。
4、由於硬體之間不兼容造成電腦頻繁死機
此類現象常見於顯卡與其它部件不兼容或內存條與主板不兼容,例如SIS的顯卡,當然其它設備也有可能發生不兼容現象,對此可以將其它不必要的設備如Modem、音效卡等設備拆下後予以判斷。
5、軟體沖突或損壞引起死機
此類故障,一般都會發生在同一點,對此可將該軟體卸掉來予以解決。
⑶ 關於linux tmpfs問題
tmpfs 在內存里,影響就是首先這個掛載點目錄不能寫入。其次就是會佔用對應容量的內存。
一般 tmpfs 都是用於大量讀寫小文件的臨時目錄,web 伺服器在這里似乎用的不多,但也存了一些數據在這里。慢了可能會導致 web 伺服器運行某些動態網站代碼出問題。
tmpfs 是在使用時才會佔用內存,如果 tmpfs 空著,是不佔用內存的。
內存不需要進行清理,內核會自動控制。你這個 echo 對應的是清空 cache ,緩存數據是可以提高 IO 性能的。沒必要這么操作。
⑷ linux tmp目錄與內存解析
使用free可以獲取到設備當前的內存
其中,各項表示的含義如下所示:
total: 總計物理內存大小。
used: 已使用內存大小。
free: 可使用內存大小。
shared: 多個進程共享的內存總額。
buffers/cached: 磁碟緩存大小。
單位都為KB。
對於系統而言,buffers和cached都是被使用的,所以可用內存為1037880KB。
對於應用程序而言,buffers和cached是可用的。當應用程序需要內存的時候,buffers和cached會被回收。從應用程序的角度而言,可用內存=free memory+buffers+cached。按上面的例子,即可用內存為1037880+18864+123656=1180400。
使用cat /proc/meminfo可以查看更詳細的內存信息。
/proc/iomem:查看物理設備在物理內存中的映射關系
/proc/slabinfo:內核對象的當前使用狀態
/proc/vmstat:虛擬內存統計信息。可以使用vmstat - Report virtual memory statistics 列印虛擬內存狀態。
如上所示,/tmp為內存文件系統,內存掛載為內存文件系統(tmpfs)。使用的物理空間不是磁碟,而是內存條。設備重啟後,/tmp下文件全清空。
tmpfs文件系統產生原因是為了提高性能。程序運行時候產生的臨時文件放在磁碟會影響性能,於是tmpfs作為虛擬內存子系統來儲存文件。POSIX共享內存也是基於tmpfs來實現的。
tmpfs的最大空間由RM(Real Memory,即物理內存)和swap(硬碟虛擬的內存空間)組成。
查看掛載信息,可知 tmpfs 文件系統的掛載點有兩個,一個/dev/shm,另一個為/tmp。默認情況下, /tmp 將最多使用一半內存。
如果往/tmp文件夾加入大量文件,也會造成系統內存不足。
使用ps可以查看進程的狀態
其中與內存相關項含義如下所示:
VSZ:虛擬內存大小。virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excluded; this is subject to change. (alias vsize).
RSS:實際使用物理內存。resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz).
虛擬內存是對進程而言使用的內存,會比較大,可以理解為一個內存布局,建立虛擬內存和磁碟文件的映射關系。在進程調用的時候,查找虛擬內存,將虛擬內存對應磁碟文件拷貝到物理內存,進行調度定址等操作。
進程使用的物理內存為RSS表示的物理內存大小,其中包括鏈接的動態庫使用的內存,不只是單獨進程使用的物理內存大小。
也可以通過/proc/下去查找對應進程id的相關內存信息。
/proc/pid/maps pid為進程號,顯示當前進程所佔用的虛擬地址。
/proc/pid/statm 進程所佔用的內存。
⑸ Linux裡面tmpfs是什麼
tmpfs,臨時文件系統,是一種基於內存的文件系統,它和虛擬磁碟ramdisk比較類似像,但不完全相同,和ramdisk一樣,tmpfs可以使用RAM,但它也可以使用swap分區來存儲,而且傳統的ramdisk是個塊設備,要用mkfs來格式化它,才能真正地使用它;而tmpfs是一個文件系統,並不是塊設備,只是安裝它,就可以使用了。tmpfs是最好的基於RAM的文件系統。
具體應用: 因為是運行在內存中所以讓裡面程序軟體加速運行,所以可以放一些緩存數據
具體案例: nginx,php,tomcat緩存加速等等,緩存就可以放在tmpfs中
使用小例: mount -t tmpfs -o size=10M tmpfs /data-oldboy-li996
⑹ Linux下關於tmpfs的問題
tmpfs默認的大小是RAM的一半,假如你的物理內存是1024M,那麼tmpfs默認的大小就是512M
tmpfs配置的大小並不會真正的佔用這塊內存,如果/dev/shm/下沒有任何文件,它佔用的內存實際上就是0位元組;如果它最大為1G,里頭放有100M文件,那剩餘的900M仍然可為其它應用程序所使用,但它所佔用的100M內存,是不會被系統回收重新劃分的。
⑺ Linux內存文件系統tmpfs(/dev/shm)詳細介紹
一、/dev/shm理論
默認的Linux發行版中的內核配置都會開啟tmpfs,映射到了/dev/下的shm目錄。可以通過df
命令查看結果.
/dev/shm/是linux下一個非常有用的目錄,因為這個目錄不在硬碟上,而是在內存里。因此在linux下,就不需要大費周折去建ramdisk,直接使用/dev/shm/就可達到很好的優化效果。默認系統就會載入/dev/shm
,它就是所謂的tmpfs,有人說跟ramdisk(虛擬磁碟),但不一樣。象虛擬磁碟一樣,tmpfs
可以使用您的
RAM,但它也可以使用您的交換分區來存儲。而且傳統的虛擬磁碟是個塊設備,並需要一個
mkfs
之類的命令才能真正地使用它,tmpfs
是一個文件系統,而不是塊設備;您只是安裝它,它就可以使用了。
tmpfs有以下優勢:
1。動態文件系統的大小,/dev
/shm/需要注意的一個是容量問題,在linux下,它默認最大為內存的一半大小,使用df
-h命令可以看到。但它並不會真正的佔用這塊內存,如果/dev/shm/下沒有任何文件,它佔用的內存實際上就是0位元組;如果它最大為1G,里頭放有
100M文件,那剩餘的900M仍然可為其它應用程序所使用,但它所佔用的100M內存,是絕不會被系統回收重新劃分的
2。tmpfs
的另一個主要的好處是它閃電般的速度。因為典型的
tmpfs
文件系統會完全駐留在
RAM
中,讀寫幾乎可以是瞬間的。
3。tmpfs
數據在重新啟動之後不會保留,因為虛擬內存本質上就是易失的。所以有必要做一些腳本做諸如載入,綁定的操作。
二、修改/dev/shm大小
默認的最大一半內存大小在某些場合可能不夠用,並且默認的inode數量很低一般都要調高些,這時可以用mount命令來管理它。
#mount
-o
size=1500M
-o
nr_inodes=1000000
-o
noatime,nodiratime
-o
remount
/dev/shm
在2G的機器上,將最大容量調到1.5G,並且inode數量調到1000000,這意味著大致可存入最多一百萬個小文件。
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
代碼如下:
tmpfs
/dev/shm
tmpfs
defaults,size=1.5G
0
0
mount
-o
remount
/dev/shm
三、/dev/shm應用
首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
代碼如下:
#mkdir
/dev/shm/tmp
#chmod
1777
/dev/shm/tmp
#mount
–bind
/dev/shm/tmp
/tmp(–bind
)
在使用mount
–bind
olderdir
newerdir命令來掛載一個目錄到另一個目錄後,newerdir的許可權和所有者等所有信息會發生變化。掛載後的目錄繼承了被掛載目錄的所有屬性,除了名稱。
⑻ Linux臨時文件系統tmpfs會佔用根目錄空間么
tmpfs一般使用內存,或者swap分區,所以和根目錄肯定是不同的分區,不會佔用根目錄空間。
⑼ linux里tmpfs文件系統全稱是啥
Tmpfs
tmpfs is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but stored in volatile memory instead of a persistent storage device.
是一個虛擬內存文件系統,它不同於傳統的用塊設備形式來實現的Ramdisk,也不同於針對物理內存的Ramfs。Tmpfs可以使用物理內存,也可以使用交換分區。
在Linux內核中,虛擬內存資源由物理內存(RAM)和交換分區組成,這些資源是由內核中的虛擬內存子系統來負責分配和管理。
Tmpfs向虛擬內存子系統請求頁來存儲文件,它同Linux的其它請求頁的部分一樣,不知道分配給自己的頁是在內存中還是在交換分區中。同Ramfs一樣,其大小也不是固定的,而是隨著所需要的空間而動態的增減。
使用tmpfs,首先你編譯內核時得選擇」虛擬內存文件系統支持(Virtual memory filesystem support)」。
然後就可以載入tmpfs文件系統了
# mkdir -p /mnt/tmpfs
# mount tmpfs /mnt/tmpfs -t tmpfs
同樣可以在載入時指定tmpfs文件系統大小的最大限制
# mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m