zoukankan      html  css  js  c++  java
  • netcore发布Linux相关问题记录

    1.报错,too many open files

    查询方法:查看linux允许的最大句柄数,命令ulimit -a然后使用命令lsof -p 进程id可以查看单个进程所有打开的文件详情,使用命令lsof -p 进程id | wc -l可以统计进程打开了多少文件,如果文件数过多使用lsof -p 进程id命令无法完全查看的话,可以使用lsof -p 进程id > openfiles.log将执行结果内容输出到日志文件中查看。

    最终原因:Assembly.Load(byte[])每次加载会载入当前dll与相关dll,多次重复的话就会导致文件打开数超过默认值1024导致报错。

    2.超时,Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool

    最终原因:多线程同时并发,connection.open时间会超过15s,需要设置connection timeout=300。

     实际原因:同时并发导致线程池中没有对应缓存,都必须新建连接,如果先连接一个,再进行10并发就不会有此问题。

    3.一些命令

    ulimit -n 2048

    apt-get update

    apt-get install procps

    Ps -aux

    lsof -p 进程id | wc -l

    lsof -p 进程id > openfiles.log

    Nohup dotnet...

     

    4.docker相关

    启动  systemctl start docker
    重启  systemctl restart  docker ; sudo service docker restart
    关闭  service docker stop ; systemctl stop docker

  • 相关阅读:
    oracle登录错误(ORA-01033:ORACLE initialization or shutdown in progress
    mssql 判断sql语句的执行效率语句
    关于 knockout js 学习中的疑问 (1)
    JS 根据Url参数名称来获取对应的值 方法封装
    账户
    windows库
    CentOS的Qt3和Qt4问题
    c/c++调用dll
    CentOS 安装g++
    输入法不见了
  • 原文地址:https://www.cnblogs.com/zhanglb163/p/11973575.html
Copyright © 2011-2022 走看看