1. Linux 常用指令
a) Top——从宏观上观察系统各个进程对CPU的占用情况以及内存使用情况
i. 进程数统计(总进程、运行进程、睡眠进程等)
ii. CPU统计(用户CPU占用、内核CPU占用等)
iii. 内存信息(总物理内存、已用物理内存、空闲物理内存、交换区总量、使用的交换区等)
iv. 进程详细信息(id、使用的CPU占比、使用的内存占比、共享内存大小、使用CPU时间)
v. top -H -p <pid> 输出某个特定进程内所有线程的运行情况
b) Pidstat——用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等
i. 命令形式为”pidstat [option] interval [count]”
ii. -u cpu使用情况统计
iii. -r 内存使用情况统计
iv. -d IO情况统计
v. -p 针对特定进程进行统计
c) dstat——是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。
默认情况下分五个区域:CPU使用率、磁盘统计、网络统计、内存分页统计、系统信息
i. -l :显示负载统计量
ii. -m :显示内存使用率(包括used,buffer,cache,free值)
iii. -r :显示I/O统计
iv. -s :显示交换分区使用情况
v. -t :将当前时间显示在第一行
vi. –fs :显示文件系统统计数据(包括文件总数量和inodes值)
vii. –nocolor :不显示颜色(有时候有用)
viii. –socket :显示网络统计数据
d) Netstat——监控TCP/IP网络状态
e) Ifstat——统计网络接口流量状态
f) Vmstat——显示虚拟内存状态
g) Iostat——监控系统输入输出设备和CPU使用情况
h) Jps –l ——显示所有java进程的pid和类名
i) Jstack——输出Java应用程序的线程栈信息
i. Jstack <pid>——查看当前进程的堆栈状态,
j) printf %x <pid>——得到pid的16进制值
k) jstat ——用于观察java程序运行时的工具,
i. -gc:显示与GC相关的堆信息
ii. -gccapacity:显示各个代的容量及使用情况
l) jinfo——查看正在运行的Java程序的JVM参数,并且支持运行时修改个别参数
jinfo [option] <pid>
i. -flags 打印JVM的参数值
ii. -flag <name>=<value> 设置指定JVM参数值
iii. -flag [+|-]<name> 设置指定JVM参数的boolean值
m) jmap——能生成Java应用程序的堆快照和对象的统计信息
jmap -histo 17338 > jmap.log
jmap -dump:format=b,file=heap.hprof 17338 生成对快照信息
n) jhat——可以分析Java程序的堆快照
jhat heap.hprof 通过浏览器访问7000端口查看堆快照信息
2. CPU使用效率监控
a) 使用jps –l 找到java程序的pid
b) 使用pidstat –p <pid> -u -t 1 3 输出pid进程的cpu使用情况,并找到cpu占用率高的线程
c) 使用top –p <pid> -H 也可以查看cpu占用率高的线程
d) Jstack <pid> > jstack.log 输入线程栈日志
e) Printf %x <pid> 将pid转化为16进制格式
f) 分析jstack.log中对应nid=16进制线程号的相关日志
3. IO使用率监控
a) 使用jps –l 找到java程序的pid
b) 使用pidstat –p <pid> -d -t 1 3 输出pid进程的IO使用情况,并找到IO占用率高的线程
c) 后续分析方法和CPU分析方法相同
4. 内存使用率监控
a) pidstat -p 17338 -r 1 3
5. GC效率监控
jstat -gc 12538 5000 即会每5秒一次显示进程号为12538的java进成的GC情况
6. 高并发linux服务器的基础设置
a) 修改用户进程可打开的文件数限制
修改/etc/security/limits.conf文件
soft nofile 65535 hard nofile 65535
b) 启用timewait 快速回收
net.ipv4.tcp_tw_recycle = 1
c) timewait 的数量,默认是180000
net.ipv4.tcp_max_tw_buckets = 6000
d) 开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接
net.ipv4.tcp_tw_reuse = 1
e) 允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024 65000
f) 开启SYN Cookies,当出现SYN 等待队列溢出时,启用cookies 来处理。
net.ipv4.tcp_syncookies = 1
g) web 应用中listen 函数的backlog 默认会给我们内核参数的net.core.somaxconn 限制到128,而nginx 定义的NGX_LISTEN_BACKLOG 默认为511,所以有必要调整这个值
net.core.somaxconn = 262144
h) 套接字由本端要求关闭的超时时间,决定了它保持在FIN-WAIT-2状态的时间,默认值是60秒
net.ipv4.tcp_fin_timeout=5
i) 表示当keepalive起用的时候,TCP发送leepalive消息的频度。缺省是2小时,改为10分钟。
net.ipv4.tcp_keepalive_time=600
j) 表示SYN队列的长度,默认为1024,加大队列长度为10240,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_syn_backlog=10240
k) 表示在内核放弃建立连接之前发送SYN包的数量,默认值为5。
net.ipv4.tcp_syn_retries=1
l) 参数的值决定了内核放弃连接之前发送SYN+ACK包的数量,默认值为5。
net.ipv4.tcp_synack_retries=1
分享到:
相关推荐
│ Java面试题62.linux常用命令.mp4 │ Java面试题63:怎么操作linux服务器.mp4 │ Java面试题64:有没有使用过云主机.mp4 │ Java面试题65:数据库优化方面的事情.mp4 │ Java面试题66:如果查询和定位慢查询.mp4 ...
java面试笔试题库java学习比较开发教程互联网公司面试资料大全合集: 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解...
java面试笔试题库java笔试题大集合及答案互联网公司面试资料Java面试问题集大全合集(200个): JavaEE学习笔记.pdf java_Java_学习笔记.pdf Java_Performance.pdf java代码效率优化.docx Java内存模型的历史变迁....
根据给定文件的信息,我们...以上内容涵盖了Linux操作系统中关于路径操作、进程管理、屏幕控制、文件与目录管理等方面的基础知识和常用命令。通过这些命令的学习和实践,可以更好地理解和掌握Linux操作系统的基本操作。
java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx ...
java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB“ 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
【标题】和【描述】提及的是一个针对Java工程师面试的综合知识汇总,特别是关于八股文面试题,其中包含了MyBatis、ZooKeeper、Redis、Java并发编程、Spring框架等多个技术领域的题目。这些题目旨在考察候选人在实际...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
从给定的文件信息来看,这是一...综上所述,这份Java面试题库覆盖了Java语言的基础语法、面向对象编程、异常处理、数据库交互、HTML文档结构、Linux命令行操作等多个领域,全面考察了应聘者的Java编程技能和理论知识。
- 安装完成后,可以通过命令`java -version`来验证Java环境是否正确安装。 #### 十一、原子性操作(CAS) 1. **CAS概念**: - CAS(Compare and Swap)是一种无锁编程技术,用于实现原子性操作。 - CAS操作包含三...
这些文档——JAVA应聘.doc、linux shell.doc、linux网络编程打印.doc、Java笔试大全.doc、JAVA面试.doc——提供了丰富的知识资源,涵盖了这两个领域的核心概念与实践技巧。 对于Java部分: 1. **基础语法**:Java...
5. **操作系统**:对Linux操作系统有基础的了解,能够进行基本的命令操作,如文件管理、进程查看和控制。 6. **分布式技术**:了解分布式系统的基础知识,如缓存(Redis)、消息中间件(Kafka)、流处理(Storm)和...
### Java笔试面试试题知识点解析 #### 一、Java概述 **1.1 Java是如何实现跨平台的?** Java的核心设计理念之一就是跨平台性,即“一次编写,到处运行”。这主要通过以下两个方面实现: - **编译为字节码**:...
- 虽然题目只提到“写6个Linux命令”,但实际上面试官可能会更关注应聘者对Linux环境的理解以及常用命令的应用能力。 4. **SQL相关** - SQL是数据库操作的基础,熟练掌握SQL对于任何一名Java程序员来说都是必不可...
14. **Linux命令**:常见的Linux命令如ls、cd、grep、sed、awk等,用于文件管理、文本处理和系统操作。 15. **MyBatis**:MyBatis是一个SQL映射框架,#{}用于预编译防止SQL注入,${}则直接替换为字符串,可能引发...