聲明:所有文章只作為學習筆記用,轉載非原創(chuàng)
https://blog.csdn.net/z1026544682/article/details/98092139
https://blog.csdn.net/ygm_linux/article/details/24532809
dev proc 目錄解釋
https://blog.csdn.net/zz709196484/article/details/77512002
drop_cache https://blog.csdn.net/weixin_35815578/article/details/64444259
/proc的意義及說明
在Linux中查看各種狀態(tài)诚镰,其實質是查看內核中相關進程的數(shù)據(jù)結構中的項祥款,通過工具將其格式化后輸出出來。但是內核的數(shù)據(jù)是絕對不能隨意查看或更改的函筋,至少不能直接去修改奠伪。所以,在linux上出現(xiàn)了偽文件系統(tǒng)/proc谨敛,它是內核中各屬性或狀態(tài)向外提供訪問和修改的接口滤否。
/proc 正在運行的內核信息映射
主要輸出: 進程信息 內存資源信息 磁盤分區(qū)信息等等
/sys 硬件設備的驅動程序信息
1.2 系統(tǒng)在什么情況下才會使用SWAP?
實際上藐俺,并不是等所有的物理內存都消耗完畢之后,才去使用swap的空間卿啡,什么時候使用是由swappiness 參數(shù)值控制菱父。
[root@rhce ~]# cat /proc/sys/vm/swappiness
60
該值默認值是60.
swappiness=0的時候表示最大限度使用物理內存剑逃,然后才是 swap空間官辽,
swappiness=100的時候表示積極的使用swap分區(qū),并且把內存上的數(shù)據(jù)及時的搬運到swap空間里面萤捆。
如何修改swappiness參數(shù)乓梨?
--臨時性修改:
[root@rhce ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@rhce ~]# cat /proc/sys/vm/swappiness
10
這里我們的修改已經生效,但是如果我們重啟了系統(tǒng)蕴侣,又會變成60.
--永久修改:
在/etc/sysctl.conf 文件里添加如下參數(shù):
vm.swappiness=10
或者:
[root@rhce ~]# echo 'vm.swappiness=10' >>/etc/sysctl.conf
sysctl.conf 配置 http://www.reibang.com/p/87ec508be2c5
swapoff -a && swapon -a 然后執(zhí)行 sysctl -p 命令,使上述修改生效臭觉。
查看哪些進程使用了swap
https://blog.csdn.net/xiangliangyu/article/details/8213127
/proc/cmdline 啟動時傳遞給kernel的參數(shù)信息(就是bootargs信息)
/proc/cpuinfo cpu的信息
/proc/crypto 內核使用的所有已安裝的加密密碼及細節(jié)
/proc/devices 已經加載的設備并分類
/proc/dma 已注冊使用的ISA DMA頻道列表
/proc/execdomains Linux 內核當前支持的execution domains
/proc/fb 幀緩沖設備列表,包括數(shù)量和控制它的驅動
/proc/filesystems 內核當前支持的文件系統(tǒng)類型
/proc/interrupts x86架構中的每個IRQ中斷數(shù)
/proc/iomem 每個物理設備當前在系統(tǒng)內存中的映射
/proc/ioports 一個設備的輸入輸出所使用的注冊端口范圍
/proc/kcore 代表系統(tǒng)的物理內存狞膘,存儲為核心文件格式什乙,里邊顯示的是字節(jié)數(shù),等于RAM大小加上4kb
/proc/kmsg 記錄內核生成的信息辅愿,可以通過/sbin/klogd或/bin/dmesg來處理
/proc/loadavg 根據(jù)過去一段時間內CPU和IO的狀態(tài)得出的負載狀態(tài)忆某,與uptime命令有關
/proc/locks 內核鎖住的文件列表
/proc/mdstat 多硬盤,RAID配置信息(md=multiple disks)
/proc/meminfo RAM使用的相關信息
/proc/misc 其他的主要設備(設備號為10)上注冊的驅動
/proc/modules 所有加載到內核的模塊列表
/proc/mounts 系統(tǒng)中使用的所有掛載
/proc/partitions 分區(qū)中的塊分配信息
/proc/pci 系統(tǒng)中的PCI設備列表
/proc/slabinfo 系統(tǒng)中所有活動的 slab 緩存信息
/proc/stat 所有的CPU活動信息
/proc/uptime 系統(tǒng)已經運行了多久
/proc/swaps 交換空間的使用情況
/proc/version Linux內核版本和gcc版本
/proc/bus 系統(tǒng)總線(Bus)信息癞埠,例如pci/usb等
/proc/driver 驅動信息
/proc/fs 文件系統(tǒng)信息
/proc/ide ide設備信息
/proc/irq 中斷請求設備信息
/proc/net 網卡設備信息
/proc/scsi scsi設備信息
/proc/tty tty設備信息
/proc/net/dev 顯示網絡適配器及統(tǒng)計信息
/proc/vmstat 虛擬內存統(tǒng)計信息
/proc/vmcore 內核panic時的內存映像
/proc/diskstats 取得磁盤信息
/proc/schedstat kernel調度器的統(tǒng)計信息
/proc/zoneinfo 顯示內存空間的統(tǒng)計信息聋呢,對分析虛擬內存行為很有用
以下是/proc目錄中進程N的信息
/proc/N/cmdline 進程啟動命令
/proc/N/cwd 鏈接到進程當前工作目錄
/proc/N/environ 進程環(huán)境變量列表
/proc/N/exe 鏈接到進程的執(zhí)行命令文件
/proc/N/fd 包含進程相關的所有的文件描述符 (ls /proc/<PID>/fd | wc -l 查看某個進程打開多少FD)
/proc/N/maps 與進程相關的內存映射信息
/proc/N/mem 指代進程持有的內存坝冕,不可讀
/proc/N/root 鏈接到進程的根目錄
/proc/N/stat 進程的狀態(tài)
/proc/N/statm 進程使用的內存的狀態(tài)
/proc/N/status 進程狀態(tài)信息,比stat/statm更具可讀性
/proc/self 鏈接到當前正在運行的進程