#bc
scale =4 //小數點後4位
B. linux下bc命令為什麼一定要quit離開
那是因為你在輸入bc命令回車以後,bc命令並沒有退出,而是等待你輸入計算公式繼續為你服務,直到你計算完以後,你輸入quit表示你不需要再繼續進行計算了。bc命令才會退出。
而其他的命令,比如ls,在你輸入命令回車以後,就會在終端上顯示結果,這時這個命令的工作已經完成了,所以立刻就會退出。不需要你再進行結束通知。
C. linux下的bc指令是計算機,那bc是什麼單詞的縮寫阿linux下的指令好像沒什麼規則
bc = Basic (Better) Calculator
Linux其實很多命令都是縮寫來的,像ls,就是list的縮寫。知道了縮寫對了解命令的含義還是有所幫助的。
D. Linux裡面cpu佔用太高排查思路是什麼
思路就是top查看是什麼進程佔用高,一般是應用或者資料庫,應用方面可以看看運行吐出日誌是否有報錯信息,查netstat連接應用埠的會話是不是有異常,資料庫進程高,可以使用自帶的檢查命令後台看是否有執行很久的sql事務,鎖等待頻繁,報錯日誌等,找到問題針對性的優化,一步一步解決。
E. 我的linux裡面為什麼沒有bc命令
在聯網的情況下輸入 sudo apt-get install bc
F. linux cpu佔用較高
Linux伺服器上出現CPU負載達到100%居高不下的情況,如果CPU 持續跑高,則會影響業務系統的正常運行; CPU利用率。根據經驗來看,用戶空間進程佔用CPU比例在 65-70%。一般不能超過這個比例,超過這個比例,系統性能就會降低,平均負載升高,這點將會在下面的測試中看到。
進程上下文切換。上下文切換和CPU利用率應該聯系起來,如果CPU利用率低,那麼上下文切換稍高點也能接受。上下文切換也是需要消耗CPU資源的,頻繁的切換必將使得CPU利用率升高。
運行隊列中等待運行的進程數。每個CPU核心中等待處理的進程數不應該超過3個線程/進程。如4核心的機器,那麼隊列的最大值應該不超過12個。
對於CPU過載問題通常使用以下兩種方式即可快速定位(不能涵蓋所有特殊情況,請作為其中的參考排查思路):
一、排查分析
方法一(針對java應用):
第一步:使用
top命令,然後按shift+p按照CPU排序
找到佔用CPU過高的進程的pid
第二步:使用
top -H -p [進程id]
找到進程中消耗資源最高的線程的id
第三步:使用
echo 'obase=16;[線程id]' | bc或者printf "%x\n" [線程id]
將線程id轉換為16進制(字母要小寫)
bc是linux的計算器命令
第四步(此步驟可以和相對應的java開發進行一起排查):執行
jstack [進程id] |grep -A 10 [線程id的16進制]」
查看線程狀態信息
二、kswapd0 進程佔用 CPU 較高
操作系統都用分頁機制來管理物理內存,操作系統將磁碟的一部分劃出來作為虛擬內存,由於內存的速度要比磁碟快得多,所以操作系統要按照某種換頁機制將不需要的頁面換到磁碟中,將需要的頁面調到內存中,由於內存持續不足,這個換頁動作持續進行,kswapd0 是虛擬內存管理中負責換頁的,當伺服器內存不足的時候 kswapd0 會執行換頁操作,這個換頁操作是十分消耗主機 CPU 資源的。如果通過 top 發現該進程持續處於非睡眠狀態,且運行時間較長,可以初步判定系統在持續的進行換頁操作,可以將問題轉向內存不足的原因來排查。
G. BC是什麼意思
bc看上去是連續的字母,其實是罵人的臟話,是白痴的意思,是網路用語,在騰訊\MSN中常見BC還有公元前的意思.BC BitComet的簡稱 BC 加拿大不列顛哥倫比亞省簡稱BC省 BC 網路語言,表示「棒槌」B代表Before,在...之前的意思C代表Christ,基督的意思.西方以基督出生的年份為公元1年,所以在此之前就叫公元前.所以習慣上常用BC或B.C.代表公元前. BC: Business Customer ,商業(企業)客戶。BC:Boston College的縮寫LINUX命令bc 命令用途為任意精度算術語言提供解釋器。語法bc [ -c ] [ -l ] [ File ... ]描述bc 命令是一個提供任意精度算術的互動式進程。bc 命令首先讀取由 File 參數指定的任一輸入文件,然後讀取標准輸入。輸入文件必須是包含 bc 命令能讀取並執行的命令序列、語句或函數定義的文本文件。bc 命令是 dc 命令的預處理程序。除非指定 -c(僅編譯)標志,否則它自動調用 dc 命令。如果指定了 -c 標志,則來自 bc 命令的輸出轉到標准輸出。bc 命令允許您來指定十進制、八進制或十六進制的運算的輸入和輸出進制。預設值為十進制。此命令還提供了十進制點符號的比例縮放規定。bc 命令始終使用 .(點號)來表示基數點,而不考慮指定為當前語言環境部分的任何十進制點字元。bc 命令的語法類似於 C 語言的語法。可以使用 bc 命令通過將 ibase 關鍵字指定給輸入進制而 obase 關鍵字指定給輸出進制來在各進制間轉化。2 到 16 的范圍對於 ibase 關鍵字是有效的。obase 關鍵字的范圍從 2 直到 /usr/include/sys/limits.h 文件中定義的 BC_BASE_MAX 值設置的限制。不考慮 ibase 和 obase 的設置,bc 命令將字母 A 到 F 識別為其十六進制值 10 到 15。bc 命令的輸出由讀取程序控制。輸出由包含所有執行的未賦值表達式的值的一行或多行構成。輸出的基數和精度由 obase 和 scale 關鍵字的值控制。有關 bc 命令處理來自源文件信息的方式的進一步的信息在以下各節中得到描述:* 語法* 詞法約定* 標識符和運算符* 表達式* 語句* 函數調用* -I 數學庫中的函數
H. linux cpu使用率過高排查
方法一
第一步:使用
top命令,然後按shift+p按照CPU排序
找到佔用CPU過高的進程的pid
第二步:使用
top -H -p [進程id]
找到進程中消耗資源最高的線程的id
第三步:使用
echo 'obase=16;[線程id]' | bc或者printf "%x
" [線程id]
將線程id轉換為16進制(字母要小寫)
bc是linux的計算器命令
第四步:執行
jstack [進程id] |grep -A 10 [線程id的16進制]」
查看線程狀態信息
方法二
第一步:使用
top命令,然後按shift+p按照CPU排序
找到佔用CPU過高的進程
第二步:使用
ps -mp pid -o THREAD,tid,time | sort -rn
獲取線程信息,並找到佔用CPU高的線程
第三步:使用
echo 'obase=16;[線程id]' | bc或者printf "%x
" [線程id]
將需要的線程ID轉換為16進制格式
第四步:使用
jstack pid |grep tid -A 30 [線程id的16進制]
列印線程的堆棧信息
案例分析
場景描述
生產環境下JAVA進程高CPU佔用故障排查
解決過程
1、根據top命令,發現PID為2633的Java進程佔用CPU高達300%,出現故障。
2、找到該進程後,如何定位具體線程或代碼呢,首先顯示線程列表,並按照CPU佔用高的線程排序:
1[root@localhost ~]# ps -mp 2633 -o THREAD,tid,time | sort -rn
顯示結果如下:
化主動為被動的方式,一方面減輕了運維工程師的工作,另一方面也減小了運維漏看或者忽略告警的情況發生。
I. linux有哪些基本命令 5個基本linux命令
1、顯示日期的指令: date
2、顯示日歷的指令:cal
3、簡單好用的計算器:bc
怎麼10/100會變成0呢?這是因為bc預設僅輸出整數,如果要輸出小數點下位數,那麼就必須要執行 scale=number ,那個number就是小數點位數,例如:
4、重要的幾個熱鍵[Tab],[ctrl]-c, [ctrl]-d
[Tab]按鍵---具有『命令補全』不『檔案補齊』的功能
[Ctrl]-c按鍵---讓當前的程序『停掉』
[Ctrl]-d按鍵---通常代表著:『鍵盤輸入結束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用來取代exit
5、man
退出用q,
man -f man
6、數據同步寫入磁碟: sync
輸入sync,那舉在內存中尚未被更新的數據,就會被寫入硬碟中;所以,這個挃令在系統關機戒重新啟勱乀前, 徑重要喔!最好多執行幾次!
7、慣用的關機指令:shutdown
此外,需要注意的是,時間參數請務必加入指令中,否則shutdown會自動跳到 run-level 1 (就是單人維護的登入情況),這樣就傷腦筋了!底下提供幾個時間參數的例子吧:
重啟,關機: reboot, halt,poweroff
8、切換執行等級: init
Linux共有七種執行等級:
--run level 0 :關機
--run level 3 :純文本模式
--run level 5 :含有圖形介面模式
--run level 6 :重新啟動
使用init這個指令來切換各模式:
如果你想要關機的話,除了上述的shutdown -h now以及poweroff之外,你也可以使用如下的指令來關機:
9、改變文件的所屬群組:chgrp
10、改變文件擁有者:chown
他還可以頇便直接修改群組的名稱
11、改變文件的許可權:chmod
許可權的設定方法有兩種, 分別可以使用數字或者是符號來進行許可權的變更。
--數字類型改變檔案許可權:
--符號類型改變檔案許可權:
12、查看版本信息等
13、變換目錄:cd
14、顯示當前所在目錄:pwd
15、建立新目錄:mkdir
不建議常用-p這個選項,因為擔心如果你打錯字,那麼目錄名稱就回變得亂七八糟的
16、刪除『空』的目錄:rmdir
17、檔案與目錄的顯示:ls
18、復制檔案或目錄:cp
19、移除檔案或目錄:rm
20、移動檔案與目錄,或更名:mv
21、取得路徑的文件名與目錄名:basename,dirname
22、由第一行開始顯示檔案內容:cat
23、從最後一行開始顯示:tac(可以看出 tac 是 cat 的倒著寫)
24、顯示的時候,順道輸出行號:nl
25、一頁一頁的顯示檔案內容:more
26、與 more 類似,但是比 more 更好的是,他可以往前翻頁:less
27、只看頭幾行:head
28、只看尾幾行:tail
29、以二進制的放置讀取檔案內容:od
30、修改檔案時間或新建檔案:touch
31、檔案預設許可權:umask
32、配置文件檔案隱藏屬性:chattr
33、顯示檔案隱藏屬性:lsattr
34、觀察文件類型:file
35、尋找【執行擋】:which
36、尋找特定檔案:whereis
37、尋找特定檔案:locate
38、尋找特定檔案:find
39、壓縮文件和讀取壓縮文件:gzip,zcat
40、壓縮文件和讀取壓縮文件:bzip2,bzcat
41、壓縮文件和讀取壓縮文件:tar
ps:IP.GZIP.TAR有啥區別?那個壓縮的程度大?
tar是打包,不是壓縮,只是把一堆文件打成一個文件而已GZIP用在HTTP協議上是一種用來改進WEB應用程序性能的技術,將網頁內容壓縮後再傳輸。
zip就不用說了,主流的壓縮格式。
zip最新的壓縮演算法還是很好的,建議還是用zip格式化,全平台通用。
tar沒有怎樣壓縮,壓縮率100%,主要是永遠打包,
zip壓縮率看文件類型,jpg就沒怎麼壓縮率,但bmp很高
gzip一般比zip高
復制代碼
zip
zip -r myfile.zip ./*
將當前目錄下的所有文件和文件夾全部壓縮成myfile.zip文件,-r表示遞歸壓縮子目錄下所有文件.
unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解壓到 /home/sunny/
-o:不提示的情況下覆蓋文件;
-d:-d /home/sunny 指明將文件解壓縮到/home/sunny目錄下
zip 命令:
# zip test.zip test.txt
它會將 test.txt 文件壓縮為 test.zip ,當然也可以指定壓縮包的目錄,例如 /root/test.zip
# unzip test.zip
它會默認將文件解壓到當前目錄,如果要解壓到指定目錄,可以加上 -d 選項
# unzip test.zip -d /root/