1. linux 下怎麼查看一個進程佔用內存大小
這里介紹下查看一個進程佔用內存大小的方法。
1、首先單擊桌面左上角的應用程序,選擇系統工具選項,如下圖所示。
2. linux查看文件被哪個進程佔用
可以使用ps -fe|grep filename,也可以使用fuser filename查看
1.只查看該進程:ps -ef | grep 11345
2.查看該進程打開的文件:lsof -p 11345
3.查看內存分配:lcat /proc/11345/maps
4.查看堆棧:pstack 11345
5.查看發出的系統調用:strace -p 11345
6.查看調用庫函數:ltrace -p 11345
3. linux中如何查看某個文件被哪些進程佔用
在Linux要檢查那一個進程(process)佔用特定埠號,可以用netstat或lsof來做,例如想列出所有開啟的埠號,可以netstat指令:
或者:
我們已經知道我們想要殺死的那個進程的名字,我們能夠利用killall命令發送同樣的信號,像這樣:
killall -9 mongod
4. Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用
Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用的命令
圖中紅色部分即為佔用百分率,下面是每個進程的CPU佔用率,如果伺服器是多核CPU可能在下方看到有些進程CPU佔用超過100%,這種一般是該進程使用了多核。
內存佔用率:free -m
圖中紅色部分即為佔用,即used、free即為剩餘。(注意中在第二行數字中找哦。)
帶寬佔用:
使用vmstat命令,輸入命令:vmstat
linux伺服器的相關信息查看(埠佔用,cpu、內存佔用,防火牆,系統信息,vim編輯器使用等)
一、埠佔用情況
(1)查看所有埠、進程的使用情況: netstat -tunlp
(2)查看某一埠的使用情況: netstat -tunlp|grep 5560
二、查看內存使用情況
(1)查看佔用情況(動態):top
按下P(大寫)可以找到佔用內存最大的進程
(2)查看佔用情況(總的):free
(3)查看佔用內存最多的N個進程: ps -aux | sort -k4nr | head -K如果是10個進程,K=10,如果是最高的三個,K=3
(4)查看硬碟空間大小:df -lh
三、防火牆
防火牆iptables和firewall
(1)查看防火牆狀態:firewall-cmd --state
(2)開啟、關閉防火牆:開啟:systemctl start firewalld關閉:systemctl stop firewalld.service 或者 service firewalld stop
(3)重啟防火牆:firewall-cmd --reload(重新載入配置,在添加規則之後,需要執行此命令)
(4)防火牆是否開機啟動:禁止防火牆開機啟動:systemctl disable firewalld.service設置防火牆開機啟動:systemctl enable firewalld.service
四、查看系統信息
(1)查看系統位數:getconf LONG_BIT
(2)查看內存信息:查看所有內存信息: cat /proc/meminfo查看內存容量: grep "MemTotal" /proc/meminfo
(3)查看CPU信息:查看cpu個數(幾核):cat /proc/cpuinfo |grep "processor"|wc -l
五、linux中文亂碼:
我只是用了第三部,更改了ssh客戶端屬性配置就可以了
1. 配置SSH 終端 (以xshell為例):
打開「文件」(File)- 「屬性」 (Properties), 在「終端」(Terminal),將「編碼」(Encoding)改為UTF-8 即可。
六、Xshell遠程連接Linux時無法使用小鍵盤的解決方式:
七、linux中vi編輯器的退出操作
保存,但不退出vi :w
保存並退出vi :wq
退出vi,但不保存更改 :q!
用其他文件名保存 :w filename
在現有文件中保存並覆蓋該文件 :w! filename
查找文字:在一般模式下輸入/和你要查找的文字單詞,例如/port,此時再按下 n 會跳轉至改文字所在的下一處。
5. linux下磁碟佔用達到100%了,怎樣查找是哪些大文件耗盡了磁碟
樓上的各位,麻煩你們回答問題的時候看清楚別人問的是什麼好吧?x0dx0a1、如果是大文件佔用了,那麼查詢大於某個值的文件的方法:x0dx0afind / -size +100c -printx0dx0a這是從根盤開始查找大於100位元組的文件(至於位元組數你當然可以自己設置)x0dx0a你可以用x0dx0afind / -size +100c -exec ls -l {}\;x0dx0a來列出文件屬性。x0dx0a2、如果只是因為有些應用生成的日誌文件較多,長時間沒有清理後佔用了,這種情況最明顯的標志為系統空間使用量逐步遞增,每天的增量基本相差不大。那麼最快捷的方式莫過於詢問應用廠商要到日誌存放目錄後進行清理。如果找不到廠商,那隻好自己動手咯,寫個腳本查:x0dx0a#!/bin/kshx0dx0a#####用命令輸出所有目錄所佔的磁碟空間大小,以G為單位#########x0dx0a -h >fs_.logx0dx0a######判斷各層目錄大小,查到佔用量大的目錄######x0dx0acat fs_.log|while read LINE FS_USEDx0dx0adox0dx0a if [ $LINE -ge 10 ]x0dx0a then x0dx0a echo $FS_USED >>result.logx0dx0a elsex0dx0a exitx0dx0a fix0dx0adonex0dx0a####查看運行結果#######x0dx0amore result.logx0dx0a這樣你就能看到佔用量比較大的目錄,從而有針對性的到相應目錄下檢查,看到底是什麼東西在佔用硬碟空間了。(if [ $LINE -ge 10 ] ,這里是判斷超過10G的目錄,你可以修改)x0dx0a3、因為人為的誤操作,導致了某些進程在沒有執行完成的時候被kill掉了,但是緩存中的程序沒有釋放,仍然在運行,這會產生一些臨時文件佔用大量的磁碟空間資源,這種現象的特點是爆發式的增長,在很短時間內就將磁碟空間占滿。解決的方法:x0dx0ai、如果是因為父進程被殺除,子進程還運行導致,那麼最簡單,kill子進程,就會釋放。x0dx0aii、如果能用ipcs確認是哪個用戶的進程,那麼也不困難,順著使用ipcrm就行(這個就不一一例舉了,有了命令查使用方法還是很方便的)x0dx0aiii、執行進程的用戶是比較關鍵的用戶如:root用戶、有實例的oracle用戶、在線的生產用戶等。那麼建議在確認是因為共享緩存的原因導致的問題後重啟伺服器。x0dx0a4、你已經刪除了一些佔用量大的文件,或者在根盤下做 -h發現佔用量遠遠的小於130G,df的結果仍然是100%的使用率。那麼基本肯定你碰到了linux的一個bug,直接重啟就能解決。(當然了也不一定是bug,我碰到過那種程序在寫一個日誌,但是刪除日誌後空間不釋放的問題。這個是linux本身的機制引起的,只需要停止相關的程序空間就會釋放的)
6. linux查看埠佔用情況
一、常用命令:
1,lsof -i埠號
2,netstat -tunlp|grep 埠號
這兩個命令都可以查看埠被什麼進程佔用。
二、lsof -i 需要 root 用戶的許可權來執行,如下圖:
三、netstat命令
netstat -tunlp用於顯示 tcp,udp 的埠和進程等相關情況。
netstat 查看埠佔用語法格式:
netstat -tunlp | grep 埠號
一、更多 lsof 的命令擴展
1、lsof -i:8080:查看8080埠佔用
2、lsof abc.txt:顯示開啟文件abc.txt的進程
3、lsof -c abc:顯示abc進程現在打開的文件
4、lsof -c -p 1234:列出進程號為1234的進程所打開的文件
5、lsof -g gid:顯示歸屬gid的進程情況
6、lsof +d /usr/local/:顯示目錄下被進程開啟的文件
7、lsof +D /usr/local/:同上,但是會搜索目錄下的目錄,時間較長
8、lsof -d 4:顯示使用fd為4的進程
9、lsof -i -U:顯示所有打開的埠和UNIX domain文件
二、更多netstat命令
1、netstat -ntlp //查看當前所有tcp埠
2、netstat -ntulp | grep 80 //查看所有80埠使用情況
3、netstat -ntulp | grep 3306 //查看所有3306埠使用情況
三、關閉埠
1、在查到埠佔用的進程後,如果你要殺掉對應的進程可以使用 kill 命令:
kill -9 PID
2、如上實例,我們看到 8000 埠對應的 PID 為 26993,使用以下命令殺死進程:
kill -9 26993