腾讯云主机默认配置下/run分区空间占满的问题

现象:

1. 登录很慢;

2. 有些命令会提示/var/run/或者/run/空间不足

# yum search maria

Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast

Could not create lock at /var/run/yum.pid: [Errno 28] No space left on device: '/var/run/yum.pid'

检查:

# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        50G  5.9G  41G  13% /

devtmpfs        488M    0  488M  0% /dev

tmpfs          497M  24K  497M  1% /dev/shm

tmpfs          497M  496M  1.2M 100% /run

tmpfs          497M    0  497M  0% /sys/fs/cgroup

tmpfs          100M    0  100M  0% /run/user/0

# du -sh /run/*

...

4.0K    /run/syslogd.pid

496M    /run/systemd

4.0K    /run/tmpfiles.d

...

# du -sh /run/systemd/*

...

4.0K    /run/systemd/seats

495M    /run/systemd/sessions

0      /run/systemd/show-status

...


# ls /var/run/systemd/sessions/   

可看到无数多的sessions:

1      10456  109120  113683  118244  122806  13407  17894  22459  27024  31587  36148  4071  45271  49833  54395  58957  63518  6808  72641  77202  81765  86326  90888  95449

100    104560  109121  113684  118245  122807  13408  17895  2246  27025  31588  36149  40710  45272  49834  54396  58958  63519  68080  72642  77203  81766  86327  90889  9545

1000    104561  109122  113685  118246  122808  13409  17896  22460  27026  31589  3615  40711  45273  49835  54397  58959  6352  68081  72643  77204  81767  86328  9089  95450

10000  104562  109123  113686  118247  122809  1341    17897  22461  27027  3159  36150  40712  45274  49836  54398  5896  63520  68082  72644  77205  81768  86329  90890  95451

100000  104563  109124  113687  118248  12281  13410  17898  22462  27028  31590  36151  40713  45275  49837  54399  58960  63521  68083  72645  77206  81769  8633  90891  95452

100001  104564  109125  113688  118249  122810  13411  17899  22463  27029  31591  36152  40714  45276  49838  544    58961  63522  68084  72646  77207  8177  86330  90892  95453

100002  104565  109126  113689  11825  122811  13412  179    22464  2703  31592  36153  40715  45277  49839  5440  58962  63523  68085  72647  77208  81770  86331  90893  95454

100003  104566  109127  11369  118250  122812  13413  1790  22465  27030  31593  36154  40716  45278  4984  54400  58963  63524  68086  72648  77209  81771  86332  90894  95455

100004  104567  109128  113690  118251  122813  13414  17900  22466  27031  31594  36155  40717  45279  49840  54401  58964  63525  68087  72649  7721  81772  86333  90895  95456

100005  104568  109129  113691  118252  122814  13415  17901  22467  27032  31595  36156  40718  4528  49841  54402  58965  63526  68088  7265  77210  81773  86334  90896  95457

100006  104569  10913  113692  118253  122815  13416  17902  22468  27033  31596  36157  40719  45280  49842  54403  58966  63527  68089  72650  77211  81774  86335  90897  95458

100007  10457  109130  113693  118254  122816  13417  17903  22469  27034  31597  36158  4072  45281  49843  54404  58967  63528  6809  72651  77212  81775  86336  90898  95459

100008  104570  109131  113694  118255  122817  13418  17904  2247  27035  31598  36159  40720  45282  49844  54405  58968  63529  68090  72652  77213  81776  86337  90899  9546

100009  104571  109132  113695  118256  122818  13419  17905  22470  27036  31599  3616  40721  45283  49845  54406  58969  6353  68091  72653  77214  81777  86338  909    95460

...

查看当前系统的sessions,一共才这么几个:

# systemd-cgls

├─1 /usr/lib/systemd/systemd --system --deserialize 21

├─user.slice

│ └─user-0.slice

│  ├─session-228140.scope

│  │ ├─ 8822 sshd: root@pts/0   

│  │ ├─ 8832 -bash

│  │ ├─10901 systemd-cgls

│  │ └─10902 systemd-cgls

│  ├─session-43.scope

...

│  ├─session-13.scope

│  │ ├─ 518 login -- root   

│  │ └─4253 -bash

│  ├─session-2.scope

│  │ ├─ 1865 /usr/local/qcloud/stargate/sgagent -d

│  │ ├─ 4901 /usr/local/qcloud/YunJing/YDEyes/YDService

│  │ ├─ 4905 /usr/local/qcloud/YunJing/YDLive/YDLive

│  │ ├─10182 barad_agent                               

│  │ ├─10189 barad_agent                               

│  │ └─10190 barad_agent                               

│  └─session-1.scope

│    └─4537 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop VM_0_6_centos:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5901 -rf

└─system.slice

...

查看几个session内容:

# vi /var/run/systemd/sessions/17893

# This is private data. Do not parse.

UID=0

USER=root

ACTIVE=1

STATE=closing

REMOTE=0

STOPPING=1

TYPE=unspecified

CLASS=background

SCOPE=session-17893.scope

SERVICE=crond

POS=0

LEADER=13818

AUDIT=17893

REALTIME=1509751021778673

MONOTONIC=919291127922

# vi /var/run/systemd/sessions/10456

# This is private data. Do not parse.

UID=0

USER=root

ACTIVE=1

STATE=closing

REMOTE=0

STOPPING=1

TYPE=unspecified

CLASS=background

SCOPE=session-10456.scope

SERVICE=crond

POS=0

LEADER=10537

AUDIT=10456

REALTIME=1509368761039002

MONOTONIC=537030388252

发现SERVICE几乎都是crond,而不是sshd,说明是crontab服务导致的。

查看crontab内容:

# crontab -l

*/1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &

*/20 * * * * /usr/sbin/ntpdate ntpupdate.tencentyun.com >/dev/null &

这里每分钟执行腾讯云的Stonesoft网络安全公司的一个代理脚本(是怕代理被杀掉,还是代码有问题,容易退出或者没做循环需要借助cron实现周期性的操作?)。

每20分钟执行时间同步(是腾讯云的工程师水平不行还是有啥特别考虑,为啥不用ntpd自动同步时间呢?)。

分析:

systemd-logind和crond的配合可能有bug,导致systemd-logind无法关闭session。

修复:

第一种方法(还得观察有效性及是否有别的影响):

    让sshd在15分钟后主动关闭session:

# vi /etc/ssh/sshd_config

...

ClientAliveInterval 300

...

    让crontab的脚本只每天执行一次:

# crontab -l

0 2 * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &

0 3 * * * /usr/sbin/ntpdate ntpupdate.tencentyun.com >/dev/null &

    重启systemd-logind服务:

# systemctl restart systemd-logind

第二种方法:

    不用修改crontab和sshd配置,直接关闭systemd-logind服务即可(一般虚机里面用虚机的可能性不大,所以systemd-logind开启的cgroup准备用处不大):

# systemctl stop systemd-logind

# systemctl disable systemd-logind

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容