前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用prlimit命令不重启进程修改其limits等运行参数

使用prlimit命令不重启进程修改其limits等运行参数

作者头像
保持热爱奔赴山海
发布2022-09-28 13:33:24
1.3K0
发布2022-09-28 13:33:24
举报
文章被收录于专栏:饮水机管理员饮水机管理员

假设有个场景,数据库或者其它中间件的运行时文件句柄等参数设置过低,导致服务不可用或者间歇性不可用。

但是重启服务的代价可能很大,那么我们也可以不重启进程,做到修改某个进程的 limits范围。

这里可以使用 prlimit 命令来实现。

代码语言:javascript
复制
这里我以MySQL服务为例

  $ ps auxf | grep -v grep | grep mysqld 
  mysql      1204  1.3  3.4 7311604 1134388 ?     Sl   Aug31  68:40 ./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --user=mysql --log-error-verbosity=3




  $ cat /proc/1204/limits | grep file   # 看到文件句柄限制为10240了
  Max file size             unlimited            unlimited            bytes     
  Max core file size        0                    unlimited            bytes     
  Max open files            10240                10240                files     
  Max file locks            unlimited            unlimited            locks     

  # 用prlimit 搞一下
  $ prlimit --nofile=65535:65535 --pid 1204

  $ cat /proc/1204/limits | grep file        # 再次查看,可以看到已经变成 65535了 
  Max file size             unlimited            unlimited            bytes     
  Max core file size        0                    unlimited            bytes     
  Max open files            65535                65535                files     
  Max file locks            unlimited            unlimited            locks     


prlimit 还支持其它的参数修改,具体如下
  $ prlimit --help                                              

  Usage:
  prlimit [options] [-p PID]
  prlimit [options] COMMAND

  General Options:
  -p, --pid <pid>        process id
  -o, --output <list>    define which output columns to use
    --noheadings       don't print headings
    --raw              use the raw output format
    --verbose          verbose output
  -h, --help             display this help and exit
  -V, --version          output version information and exit

  Resources Options:
  -c, --core             maximum size of core files created
  -d, --data             maximum size of a process's data segment
  -e, --nice             maximum nice priority allowed to raise
  -f, --fsize            maximum size of files written by the process
  -i, --sigpending       maximum number of pending signals
  -l, --memlock          maximum size a process may lock into memory
  -m, --rss              maximum resident set size
  -n, --nofile           maximum number of open files        # 最常用
  -q, --msgqueue         maximum bytes in POSIX message queues
  -r, --rtprio           maximum real-time scheduling priority
  -s, --stack            maximum stack size
  -t, --cpu              maximum amount of CPU time in seconds
  -u, --nproc            maximum number of user processes        # 常用
  -v, --as               size of virtual memory
  -x, --locks            maximum number of file locks
  -y, --rttime           CPU time in microseconds a process scheduled
              under real-time scheduling

  Available columns (for --output):
  DESCRIPTION  resource description
    RESOURCE  resource name
      SOFT  soft limit
      HARD  hard limit (ceiling)
    UNITS  units

  For more details see prlimit(1).
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档