新聞中心
在Linux系統(tǒng)中,參數(shù)是指在命令行中輸入的選項、標志和變量。這些參數(shù)對于進行不同的任務和操作非常重要。在某些情況下,你可能需要查看系統(tǒng)中某個參數(shù)的值,以便更好地理解和控制該參數(shù)。本文將介紹在Linux中查看參數(shù)值的幾種方法。

成都網(wǎng)絡公司-成都網(wǎng)站建設公司成都創(chuàng)新互聯(lián)十年經(jīng)驗成就非凡,專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站設計,成都網(wǎng)頁設計,成都網(wǎng)頁制作,軟文發(fā)稿,廣告投放平臺等。十年來已成功提供全面的成都網(wǎng)站建設方案,打造行業(yè)特色的成都網(wǎng)站建設案例,建站熱線:18982081108,我們期待您的來電!
1. 通過命令參數(shù)查看
最簡單且最常見的方法是使用命令時添加參數(shù)。例如,如果你想查看系統(tǒng)中已安裝的版本控制軟件Git的版本號,則只需在命令行上輸入:
“`
git –version
“`
該命令將顯示Git的版本號,例如“git version 2.17.1”。
另一個例子是在Linux系統(tǒng)中查看CPU信息。在命令行上輸入:
“`
cat /proc/cpuinfo
“`
該命令將給出有關系統(tǒng)中所有CPU核心的詳細信息,包括型號、速度和緩存大小等。
使用命令參數(shù)查看參數(shù)值時,你需要知道相關的命令和它們支持的參數(shù)。Linux中常用的命令和他們的參數(shù)可以參考資料和網(wǎng)站,例如Linux命令大全。
2. 通過配置文件查看
另一種方法是通過配置文件查看參數(shù)值。許多Linux系統(tǒng)和應用程序在運行時使用配置文件來保存參數(shù)和設置。
例如,如果你想查看SSH服務器的配置,可以打開SSH配置文件(通常在/etc/ssh/sshd_config),查找參數(shù)值。例如,要查看SSH服務器監(jiān)聽的端口號,可以在配置文件中查找以下行:
“`
Port 22
“`
如果端口號為22,則該值就是當前的SSH服務器監(jiān)聽端口號。
其他一些常見的配置文件包含/etc/sysctl.conf、/etc/memcached.conf和/opt/tomcat/conf/server.xml等。這些文件可以在系統(tǒng)和應用程序的文檔中找到。
3. 通過系統(tǒng)工具和命令行界面查看
還有一些系統(tǒng)工具和命令行界面可以幫助你查看和控制參數(shù)值。
例如,top命令可以顯示處理器、內(nèi)存和進程信息。在命令行輸入:
“`
top
“`
該命令將打開一個命令行界面,顯示當前系統(tǒng)資源的使用情況。在該界面中,你可以檢查CPU、內(nèi)存和進程等信息。
另一個實用程序是sysctl,它可以查看和控制大量的內(nèi)核參數(shù)。在命令行輸入:
“`
sysctl -a
“`
將會列出所有內(nèi)核參數(shù)的名稱和值。
查看Linux中的參數(shù)值是一項有用的技能。對于專業(yè)用戶來說,熟練掌握這些方法可以幫助他們更好地理解和控制Linux系統(tǒng)中的各個參數(shù)。
本文介紹了在Linux中查看參數(shù)值的三種方法:通過命令行參數(shù)、配置文件和系統(tǒng)工具和命令行界面。希望這篇文章能夠為Linux初學者和高級用戶提供有用的信息。
相關問題拓展閱讀:
- linux 內(nèi)核參數(shù)優(yōu)化
linux 內(nèi)核參數(shù)優(yōu)化
作為高性能WEB服務器,只調(diào)整Nginx本身的參數(shù)是不行的,因為Nginx服務依賴于高性能的操作系統(tǒng)。
以下為常見的幾個Linux內(nèi)核參數(shù)優(yōu)化方法。
net.ipv4.tcp_max_tw_buckets
對于tcp連接,服務端和客戶端通信完后狀態(tài)變?yōu)閠imewait,假如某臺服務器非常忙,連接數(shù)特別多的話,那么這個timewait數(shù)量就會越來越大。
畢竟它也是會占用一定的資源,所以應該有一個更大值,當超過這個值,系統(tǒng)就會刪除最早的連接,這樣始終保持在一個數(shù)量級。
這個數(shù)值就是由net.ipv4.tcp_max_tw_buckets這個參數(shù)來決定的。
CentOS7系統(tǒng),你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
你可以適當把它調(diào)低,比如調(diào)整到8000,畢竟這個狀態(tài)的連接太多也是會消耗資源的。
但你不要把它返團知調(diào)到幾十、幾百這樣,因為這種狀態(tài)的tcp連接也是有用的,
如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。
net.ipv4.tcp_tw_recycle = 1
該參數(shù)的作用是快速回收timewait狀態(tài)的連接。上面雖然提到系統(tǒng)會自動刪除掉timewait狀態(tài)的連接,但如果把這樣的連接重新利用起來豈不是更好。
所以該參數(shù)設置為1就可以讓timewait狀態(tài)的連接快速回收,它需要和下面的參數(shù)配合一起使用。
net.ipv4.tcp_tw_reuse = 1
該參數(shù)設置為1,將timewait狀態(tài)的連接重新用或盯于新的TCP連接,要結合上面的參數(shù)一起使用。
net.ipv4.tcp_syncookies = 1
tcp三次握手中,客戶端向服務端發(fā)起syn請求,服務端收到后,也會向客戶端發(fā)起syn請求同時連帶ack確認,
假如客戶端發(fā)送請求后直接斷開和服務端的連接,不接收服務端發(fā)起的這個請求,服務端會重試多次,
這個重試的過程會持續(xù)一段時間(通常高于30s),當這種狀態(tài)的連接數(shù)量非常大時,服務器會消耗很大的資源,從而造成癱瘓,
正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
設置為1,是開啟SYN Cookies,開啟后可以避免發(fā)生上述的syn flood攻擊。
開啟該參數(shù)后,服務端接收客戶端的ack后,再向客戶端發(fā)送ack+syn之前會要求client在短時間內(nèi)回應一個序號,
如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,于是不會發(fā)ack+syn給客戶端,更涉及不到重試。
net.ipv4.tcp_max_syn_backlog
該參數(shù)定義系統(tǒng)能接受的更大半連接狀態(tài)的tcp連接數(shù)??蛻舳讼蚍斩税l(fā)送了syn包,服務端收到后,會記錄一下,
該參數(shù)決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數(shù)值太小則很容易導致服務器癱瘓,
實際上此時服務器并沒有消耗太多資源(cpu、內(nèi)存等),所以可以適當調(diào)大它,比如調(diào)整到30000。
net.ipv4.tcp_syn_retries
該參數(shù)適用于客戶端,它定義發(fā)起syn的更大重試次數(shù),默認為6,建議改為2。
net.ipv4.tcp_synack_retries
該參數(shù)適用于服務端,它定義發(fā)起syn+ack的更大重試次數(shù),默認為5,建議改為2,可以適當預防syn flood攻擊。
net.ipv4.ip_local_port_range
該參數(shù)定義端口范圍,系統(tǒng)默認保留端口為1024及以下,以上部分為自定義端口。這個參數(shù)適用于客戶端,
當客戶漏消端和服務端建立連接時,比如說訪問服務端的80端口,客戶端隨機開啟了一個端口和服務端發(fā)起連接,
這個參數(shù)定義隨機端口的范圍。默認為,建議調(diào)整為。
net.ipv4.tcp_fin_timeout
tcp連接的狀態(tài)中,客戶端上有一個是FIN-WAIT-2狀態(tài),它是狀態(tài)變遷為timewait前一個狀態(tài)。
該參數(shù)定義不屬于任何進程的該連接狀態(tài)的超時時間,默認值為60,建議調(diào)整為6。
net.ipv4.tcp_keepalive_time
tcp連接狀態(tài)里,有一個是established狀態(tài),只有在這個狀態(tài)下,客戶端和服務端才能通信。正常情況下,當通信完畢,
客戶端或服務端會告訴對方要關閉連接,此時狀態(tài)就會變?yōu)閠imewait,如果客戶端沒有告訴服務端,
并且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網(wǎng)了),此時需要該參數(shù)來判定。
比如客戶端已經(jīng)斷網(wǎng)了,但服務端上本次連接的狀態(tài)依然是established,服務端為了確認客戶端是否斷網(wǎng),
就需要每隔一段時間去發(fā)一個探測包去確認一下看看對方是否在線。這個時間就由該參數(shù)決定。它的默認值為7200秒,建議設置為30秒。
net.ipv4.tcp_keepalive_intvl
該參數(shù)和上面的參數(shù)是一起的,服務端在規(guī)定時間內(nèi)發(fā)起了探測,查看客戶端是否在線,如果客戶端并沒有確認,
此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數(shù)定義重新發(fā)送探測的時間,即之一次發(fā)現(xiàn)對方有問題后,過多久再次發(fā)起探測。
默認值為75秒,可以改為3秒。
net.ipv4.tcp_keepalive_probes
第10和第11個參數(shù)規(guī)定了何時發(fā)起探測和探測失敗后再過多久再發(fā)起探測,但并沒有定義一共探測幾次才算結束。
該參數(shù)定義發(fā)起探測的包的數(shù)量。默認為9,建議設置2。
設置和范例
在Linux下調(diào)整內(nèi)核參數(shù),可以直接編輯配置文件/etc/sysctl.conf,然后執(zhí)行sysctl -p命令生效。
一、Sysctl命令用來配置與顯示在/proc/sys目錄中的內(nèi)核參數(shù).如果想使參數(shù)長期保存,可以通過編輯/etc/sysctl.conf文件來實現(xiàn)。
命令格式:
sysctl -w variable=value
sysctl -p (default /etc/sysctl.conf)
sysctl –a
常用參數(shù)的意義:
-w 臨時改變某個指定參數(shù)的值,如
# sysctl -w net.ipv4.ip_forward=1
-a 顯示所有的系統(tǒng)參數(shù)
-p從指定的文件加載系統(tǒng)參數(shù),默認從/etc/sysctl.conf 文件中加載,如:
以上兩種方法都可能立即開啟路由功能,但如果系統(tǒng)重啟,或執(zhí)行了
# service network restart
命令,所設置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件,將 net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1
二、linux內(nèi)核參數(shù)調(diào)整:linux 內(nèi)核參數(shù)調(diào)整有兩種方式
方法一:修改/proc下內(nèi)核參數(shù)文件內(nèi)容,不能使用編輯器來修改內(nèi)核參數(shù)文件,理由是由于內(nèi)核隨時可能更改這些文件中的任意一個,另外,這或桐鄭些內(nèi)核參數(shù)文件都是虛擬文件,實際中不存在,因此不能使用編輯器進行編輯,而是使用echo命令,然后從命令行將輸出重定向至 /proc 下所選定的文件中。如:將 timeout_timewait 參數(shù)設置為30秒:
參數(shù)修改后立即生效,但是重啟系統(tǒng)后,該參數(shù)又恢復成默認值。因此,想永久更改內(nèi)核參數(shù),需要修改/etc/sysctl.conf文件
方法二.修改/etc/sysctl.conf文件。檢查sysctl.conf文件,如果已經(jīng)包含需要修改的參數(shù),則修改該參數(shù)的值,如果沒有需要修改的參數(shù),在sysctl.conf文件中添加參數(shù)。如:
net.ipv4.tcp_fin_timeout=30
保存退出后,可以重啟機器使參數(shù)生效,如果想使參數(shù)馬上生效,也可以執(zhí)行如下命令:
三、sysctl.conf 文件中參數(shù)設置及說明
proc/sys/net/core/wmem_max
更大socket寫buffer,可參考的優(yōu)化值:873200
/proc/sys/net/core/rmem_max
更大socket讀buffer,可參考的優(yōu)化值:873200
/proc/sys/net/ipv4/tcp_wmem
TCP寫buffer,可參考的優(yōu)化值:73200
/proc/sys/net/ipv4/tcp_rmem
TCP讀buffer,可參考的優(yōu)化值:873200
/proc/sys/net/衫頌ipv4/tcp_mem
同樣有3個值,意思是:
net.ipv4.tcp_mem:低于此值,TCP沒有內(nèi)存壓力.
net.ipv4.tcp_mem:在此值下,進入內(nèi)存壓力階段.
net.ipv4.tcp_mem:高于輪啟此值,TCP拒絕分配socket.
上述內(nèi)存單位是頁,而不是字節(jié).可參考的優(yōu)化值是:
/proc/sys/net/core/netdev_max_backlog
進入包的更大設備隊列.默認是300,對重負載服務器而言,該值太低,可調(diào)整到1000
/proc/sys/net/core/somaxconn
listen()的默認參數(shù),掛起請求的更大數(shù)量.默認是128.對繁忙的服務器,增加該值有助于網(wǎng)絡性能.可調(diào)整到256.
/proc/sys/net/core/optmem_max
socket buffer的更大初始化值,默認10K
/proc/sys/net/ipv4/tcp_max_syn_backlog
進入SYN包的更大請求隊列.默認1024.對重負載服務器,可調(diào)整到2023
/proc/sys/net/ipv4/tcp_retries2
TCP失敗重傳次數(shù),默認值15,意味著重傳15次才徹底放棄.可減少到5,盡早釋放內(nèi)核資源.
/proc/sys/net/ipv4/tcp_keepalive_time
/proc/sys/net/ipv4/tcp_keepalive_intvl
/proc/sys/net/ipv4/tcp_keepalive_probes
這3個參數(shù)與TCP KeepAlive有關.默認值是:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某個TCP連接在idle 2個小時后,內(nèi)核才發(fā)起probe.如果probe 9次(每次75秒)不成功,內(nèi)核才徹底放棄,認為該連接已失效.對服務器而言,顯然上述值太大. 可調(diào)整到:
/proc/sys/net/ipv4/tcp_keepalive_time 1800
/proc/sys/net/ipv4/tcp_keepalive_intvl 30
/proc/sys/net/ipv4/tcp_keepalive_probes 3
/proc/sys/net/ipv4/ip_local_port_range
指定端口范圍的一個配置,默認是,已夠大.
net.ipv4.tcp_syncookies = 1
表示開啟SYN Cookies。當出現(xiàn)SYN等待隊列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1
表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。
net.ipv4.tcp_fin_timeout = 30
表示如果套接字由本端要求關閉,這個參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時間。
net.ipv4.tcp_keepalive_time = 1200
表示當keepalive起用的時候,TCP發(fā)送keepalive消息的頻度。缺省是2小時,改為20分鐘。
net.ipv4.ip_local_port_range =
表示用于向外連接的端口范圍。缺省情況下很小:32768到61000,改為1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192
表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網(wǎng)絡連接數(shù)。
net.ipv4.tcp_max_tw_buckets = 5000
表示系統(tǒng)同時保持TIME_WAIT套接字的更大數(shù)量,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息。默認為,改為 5000。對于Apache、Nginx等服務器,上幾行的參數(shù)可以很好地減少TIME_WAIT套接字數(shù)量,但是對于Squid,效果卻不大。此項參數(shù)可以控制TIME_WAIT套接字的更大數(shù)量,避免Squid服務器被大量的TIME_WAIT套接字拖死。
Linux上的NAT與iptables
談起Linux上的NAT,大多數(shù)人會跟你提到iptables。原因是因為iptables是目前在linux上實現(xiàn)NAT的一個非常好的接口。它通過和內(nèi)核級直接操作網(wǎng)絡包,效率和穩(wěn)定性都非常高。這里簡單列舉一些NAT相關的iptables實例命令,可能對于大多數(shù)實現(xiàn)有多幫助。
這里說明一下,為了節(jié)省篇幅,這里把準備工作的命令略去了,僅僅列出核心步驟命令,所以如果你單單執(zhí)行這些沒有實現(xiàn)功能的話,很可能由于準備工作沒有做好。如果你對整個命令細節(jié)感興趣的話,可以直接訪問我的《如何讓你的Linux網(wǎng)關更強大》系列文章,其中對于各個腳本有詳細的說明和描述。
EXTERNAL=”eth0″
INTERNAL=”eth1″
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
LOCAL_EX_IP=11.22.33.44 #設定網(wǎng)關的外網(wǎng)卡ip,對于多ip情況,參考《如何讓你的Linux網(wǎng)關更強大》系列文章
LOCAL_IN_IP=192.168.1.1 #設定網(wǎng)關的內(nèi)網(wǎng)卡ip
INTERNAL=”eth1″ #設定內(nèi)網(wǎng)卡
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -t nat -A PREROUTING -d $LOCAL_EX_IP -p tcp –dport 80 -j DNAT –to 192.168.1.10
iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp –dport 80 -j SNAT –to $LOCAL_IN_IP
iptables -A FORWARD -o $INTERNAL -d 192.168.1.10 -p tcp –dport 80 -j ACCEPT
iptables -t nat -A OUTPUT -d $LOCAL_EX_IP -p tcp –dport 80 -j DNAT –to 192.168.1.10
獲取系統(tǒng)中的NAT信息和診斷錯誤
了解/proc目錄的意義
在Linux系統(tǒng)中,/proc是一個特殊的目錄,proc文件系統(tǒng)是一個偽文件系統(tǒng),它只存在內(nèi)存當中,而不占用外存空間。它包含當前系統(tǒng)的一些參數(shù)(variables)和狀態(tài)(status)情況。它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口
通過/proc可以了解到系統(tǒng)當前的一些重要信息,包括磁盤使用情況,內(nèi)存使用狀況,硬件信息,網(wǎng)絡使用情況等等,很多系統(tǒng)監(jiān)控工具(如HotSaNIC)都通過/proc目錄獲取系統(tǒng)數(shù)據(jù)。
另一方面通過直接操作/proc中的參數(shù)可以實現(xiàn)系統(tǒng)內(nèi)核參數(shù)的調(diào)節(jié),比如是否允許ip轉發(fā),syn-cookie是否打開,tcp超時時間等。
獲得參數(shù)的方式:
之一種:cat /proc/xxx/xxx,如 cat /proc/sys/net/ipv4/conf/all/rp_filter
第二種:sysctl xxx.xxx.xxx,如 sysctl net.ipv4.conf.all.rp_filter
改變參數(shù)的方式:
之一種:echo value > /proc/xxx/xxx,如 echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
第二種:sysctl variable=value,如 sysctl net.ipv4.conf.all.rp_filter=1
以上設定系統(tǒng)參數(shù)的方式只對當前系統(tǒng)有效,重起系統(tǒng)就沒了,想要保存下來,需要寫入/etc/sysctl.conf文件中
通過執(zhí)行 man 5 proc可以獲得一些關于proc目錄的介紹
查看系統(tǒng)中的NAT情況
和NAT相關的系統(tǒng)變量
/proc/slabinfo:內(nèi)核緩存使用情況統(tǒng)計信息(Kernel slab allocator statistics)
/proc/sys/net/ipv4/ip_conntrack_max:系統(tǒng)支持的更大ipv4連接數(shù),默認65536(事實上這也是理論更大值)
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 已建立的tcp連接的超時時間,默認432023,也就是5天
和NAT相關的狀態(tài)值
/proc/net/ip_conntrack:當前的前被跟蹤的連接狀況,nat翻譯表就在這里體現(xiàn)(對于一個網(wǎng)關為主要功能的Linux主機,里面大部分信息是NAT翻譯表)
/proc/sys/net/ipv4/ip_local_port_range:本地開放端口范圍,這個范圍同樣會間接限制NAT表規(guī)模
cat /proc/sys/net/ipv4/ip_conntrack_max
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
cat /proc/net/ip_conntrack
cat /proc/sys/net/ipv4/ip_local_port_range
wc -l /proc/net/ip_conntrack
grep ip_conntrack /proc/slabinfo | grep -v expect | awk ‘{print 2;}’
grep ip_conntrack /proc/slabinfo | grep -v expect | awk ‘{print 3;}’
cat /proc/net/ip_conntrack | cut -d ‘ ‘ -f 10 | cut -d ‘=’ -f 2 | sort | uniq -c | sort -nr | head -n 10
關于linux 查看參數(shù)值的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都服務器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。物理服務器托管租用:四川成都、綿陽、重慶、貴陽機房服務器托管租用。
網(wǎng)站名稱:如何在Linux中查看參數(shù)的值 (linux 查看參數(shù)值)
標題網(wǎng)址:http://m.5511xx.com/article/dhssisp.html


咨詢
建站咨詢
