Linux實踐

iptables

  1. 臨時性生效
    service iptables status
    service iptables save
    iptables -A INTPUT -p tcp --sport 27017 -j ACCEPT
    iptables -D INPUT numberjava

  2. 修改配置文件(永久性生效)
    能夠增長/刪除端口
    cat /etc/sysconfig/iptables
    vi /etc/sysconfig/iptableslinux

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
注意:(1)-m state --state爲一個完整參數
(2)必須注意順序。
被容許的端口必須放在REJECT以前。
(3)不須要增長-A OUTPUT 規則。
重啓iptables則生效: service iptables restart
-A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibitedios

service iptables status查看端口結果
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:27017
6 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited網絡

  1. es
    須要開放兩個port:
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9300 -j ACCEPTjvm

  2. 查看現有規則鏈中詳情
    iptables -Ltcp

linux 系統監測工具

  1. iostat,經過yum安裝
    iostat -d -x 2
    觀察avctm, await 兩個參數工具

  2. netstat -ant
    查看tcp網絡鏈接線程

netstat -antu
查看tcp/udp網絡鏈接rest

netstat -antup
查看tcp/udp網絡鏈接,以及進程名字對象

-p 查看進程名
-n 能顯示爲數字的所有轉成數字

  1. 查看系統的負載
    vmstat -S m 2
    -S: 使用指定單位顯示

  2. 查看網絡通訊,用wireshark更強大
    tcpdump -i eth0
    eth0 爲第一個網卡, lo 爲localhost。經過ifconfig查看

  3. 查看內存和CPU
    top
    等同於: uptime, free, mpstat
    先top,而後按1,切換到多核模式,查看各個CPU狀況

shift + M 按內存大小排序

mpstat 能夠查看Linux版本與CPU個數

%MEM 進程使用的物理內存百分比
RES 進程使用的物理內存
VIRT 進程使用的物理內存

  1. telnet 能夠探測端口是否開放
    telnet ip port
    e.g. telnet 10.11.42.151 6379
    退出telnet: ctrl+],而後按q

ping 探測主機是否存活

  1. iptables,配置防火牆規則
    出口表
    入口表
    iptables -A OUTPUT -p tcp --dport 6379 -j DROP
    iptables -D OUTPUT -p tcp --dport 6379 -j DROP

-p 協議
--dport 端口
-j 動做,指定如何處理
-D 刪除規則
-A 在當前鏈的最後新增一個規則

  1. ps
    查看pid爲10696中線程狀況
    tid爲線程號
    time爲佔用cpu時間
    注意:THREAD,tid,time間不能有空格
    ps -mp 10696 -o THREAD,tid,time
    ps -mp 10696 -o THREAD,tid,time,rss,size,%mem
    ps aux
    ps -ef

  2. 打印java堆棧信息
    29ca爲j將tid轉換成16進制的結果
    jstack 10696 | grep 29ca -A 30

  3. 查看線程的內存佔用
    分析具體的對象數目和佔用內存的大小
    jmap -histo:live 10696 | head -n 100

  4. 查看進程中各個線程CPU佔用
    10696 爲pid
    top -p 10696 -H

  5. 查看java進程
    jps
    top -p 10696 -H
    jstack 10696 | grep 29ca -A 30

  6. 高CPU佔用問題排查
    jps
    查看線程佔用cpu時間(有兩個命令)
    ps -mp 10696 -o THREAD,tid,time
    top -p 10696 -H
    jstack 10696 | grep 29ca -A 30

  7. 高內存問題排產
    jmap -histo:live 10696 | head -n 100

  8. 查找應用程序所在位置
    which jvm
    whereis搜索更大範圍
    whereis jvm

  9. Linux中採起監控數據
    dstat
    ntop
    snmp 簡單網絡管理協議

  10. linux下軟件安裝與卸載命令
    rpm: redhat package manager
    rpm -qa | grep iotop

  11. 查看磁盤讀寫速度
    iostop -o

  12. 輸出重定向 iotop -o >>bi_disk.txt

相關文章
相關標籤/搜索