出现问题
- 出现 Too many open files 问题(open files)
- 服务端出现 CLOSE-WAIT 问题(max user processes)
- elasticsearch出现 max virtual memory areas vm.max_map_count [] is too low 问题(vm.max_map_count)
查看目前系统已使用资源
查看系统状态( 磁盘 -> 内存 -> CPU -> IO)
df -h
free -h
top
iostat
查看 open files
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
结果展示: 第一列是打开的文件句柄数量, 第二行是进程号
2762 1148
2226 943
1480 873
使用命令查看系统限制
ulimit –a
open files 代表最大文件打开数, max user processes代表最大进程数
open files (-n) 65535
max user processes (-u) 8192
more /proc/sys/vm/max_map_count
# 或者
sysctl -a|grep vm.max_map_count
vm.max_map_count 代表虚拟内存区域(一个连续的虚拟地址空间区域)
vm.max_map_count = 65535
根据需求临时修改
-
root用户临时修改
- 修改"最大文件打开数(open files)"
ulimit -n 999999
- 修改"最大进程数(max user processes)"
ulimit -u 65535