SuSE上的一些问题,可能需要另参考:http://blog.chinaunix.net/u2/64804/showart.php?id=2026903 limits.conf 文件实际是 Linu
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
对Linux系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。
我们组的实时数仓项目(二期:Flink SQL指标计算)进入上线阶段。所以,最近的推文我会持续更新一些线上问题排查的实战经验和思路,并尽量针对一类相似或者关联问题所涉及的关键点进行总结,抽出一些方法论分享给大家,感谢支持^^
第一次听到fork炸弹这种东西的时候以为是一个很神奇的破坏力惊人的高能脚本,然而稍微深入的了解了一下才发现这个玩意其实是个挺简单纯粹的东西,只是被一个叫Jaromil的家伙对他的精美包装给戏耍了。他在2002年给出了Linux下fork炸弹的最经典的形式: myths@myths-X450LD:~$ :(){ :|:& };: 一段非常忽悠人的代码,只有13个字母,乍一看完全看不懂。。但其实这个代码的思路非常简单,就是递归的开一个新的进程,不断的开不断的开,直到操作系统崩溃。中招后唯一的解决办法就是拔电源重启。
【油管趣搞】Rust 语言是不可避免的趋势 b站搬运: https://www.bilibili.com/video/BV1wr4y1V758?p=1&share_medium=iphone&shar
最近zhaoolee在整理《嘎!RSS》的优质订阅RSS地址, 发现《RSSHub》github.com/DIYgod/RSSHub 这个开源项目很不错,支持私有化部署,于是我自己捣鼓了一下,顺利搞定,这里放一波部署全记录,我这里用的镜像是CentOS7版本
java.lang.OutOfMemoryError: unable to create new native thread
Jexus web server 5.1 每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus V5.1服务器最多可以到支持4万个并发连接。但是,按照linux系统的默认设定,linux是不能支持这么高的并发请求的,只有对linux进行一些必要的优化,才能达到让Jexus支持大并发的目的。 一、调整文件描述符数量限制 linux默认文件描述符只有1024个,对于Jexus 等一些服务来说,在大负载的情况下这点文件描述符是远远不够的,因为Jexus 的工作方式,文件描述符
前段时间,我在准备面试的时搜到的一套Linux运维工程师面试题,感觉比较全面,一直保存在草稿,刚在整理后台时翻了出来,干脆就发出来好了,以备不时之需。 1.linux如何挂在windows下的共享目录 mount.cifs //192.168.1.3/server /mnt/server -o user=administrator,pass=123456 linux 下的server需要自己手动建一个 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号 2.查看http的并发请
Warp 是一款现代化的终端工具,最初在 MacOS 上发布后备受好评。自从上线以来,Linux 支持一直是 Warp 的最高票功能请求。现在,Linux 用户可以在 Ubuntu、Fedora、Arch Linux 或 RedHat 等发行版上安装 Warp。
通常说的网络,都是在TCP/IP协议族的基础上运作的,HTTP协议,只是这个协议族中的一个。
Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量 系统总限制是在这里,/proc/sys/fs/file-max.可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制. /proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量 linux 中数据的含义 /proc/sys/fs/file-nr [root@localhost logs]# cat /proc/sys/fs/fi
操作系统内部的记录文件是检测是否有网络入侵的重要线索。如果您的系统是直接连到internet,您发现有很多人对您的系统做telnet/ftp登录尝试,可以运行"#more /var/log/secure grep refused"来检查系统所受到的攻击,以便采取相应的对策,如使用ssh来替换telnet/rlogin等。
1、系统安全记录文件 查看登陆失败的记录 more /var/log/secure |grep Failed 2、禁止使用ctrl+alt+delete重启 修改/etc/inittab在ca::ctrlaltdel:/sbin/shutdown -t3 -r now前加上#注释掉 3、限制使用su命令 如果不希望任何用户用su切换到root,可以编辑/etc/pam.d/su文件,增加如下内容 auth sufficient /lib/security/pam_rootok.so debug auth
网络安全是一个十分主要的课题,而服务器是网络安全中最主要的环节。Linux被以为是一个比拟安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中觉察有安全漏洞,Internet上去自全球各地的意愿者会积极修补它。但是,系统维护员往往无法及时地得到信息并执行更正,这就给黑客以可乘之机。但是,相关于这些系统自身的安全漏洞,更多的安全疑问是由不当的配置形成的,可以议决适当的配置来防止。服务器上运转的服务越多,不当的配置呈现的时机也就越多,呈现安全疑问的能够性就越大。
在从root用户切换到oracle用户时,碰到了ulimit: open files: cannot modify limit: Operation not permitte的提示信息。字面意思来看即是打开文件受到了限制。同一服务器上,如仅有一个Oracle单实例且数据文件较少的情形应该不会出现该情形。多实例可能会碰到这个情况。由于多个实例都为Oracle用户所有,因此Oracle用户可操作的文件数为所有实例文件数的总和,超出了限制就收到错误提示。
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
想要采集各类网站的RSS信息,就必须有RSS数据源,我找到一个提供RSS数据源的开源项目RSSHub,可以私有部署到树莓派,然后树莓派RSS数据源对公网开放,即可让依赖Github Actions定时运行的《嘎!RSS》轻松获取数据源。
依次展开org->gnome->desktop->remote-access,将 requre-encryption 设为 False
1、禁用ping,vi /etc/rc.d/rc.local下添加一行:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all,0表示运行,1表示禁用
1.介绍 ---- ulimit 命令提供了针对 shell和或由该 shell 启动的进程占用资源的控制。 持久化修改生效是在/etc/security/limits.conf中进行数据写入. 写入的格式为:<domain><type><item><value> domain:用户名/用户组名/其他(查看man limits.conf) type: hard / soft ,分别指实际最大值类型和预警值类型,一个是max,一个是threshold,在threshold会产生warning. item:c
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
无人值守安装Oracle 11GR2单机,只需要10分钟?没错,通过脚本静默安装,真的只需要10分钟,包括安装补丁,建库。
Non-authoritative answer: Name: a.kaixin001.com Addresses:
最近在 Centos7 上搭建 nginx 作为 web 服务器使用,但是使用过程中,nginx 总是莫名其妙的崩掉,使用命令 dmesg 检查错误信息如下:
binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64)
下面是头文件内容,代码是mooon的一部分,对应的CPP文件请直接浏览:http://code.google.com/p/mooon/source/browse/trunk/common_library/src/sys/info.cpp
系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 Linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell进程及其子进程的资源使用设置限制。
我们很多人喜欢一些网站或者博客,有时候会错过好东西或者福利,今天介绍下如何用 Telegram 做一个自己的 RSS 订阅机器人,这样我们可以非常方便的通过它来实现在 Telegram 里订阅网站并快速推送 RSS 内容。
最近的一项工作,是查看服务在过去一段时间的内存实际使用量,给K8S平台上的POD内存设置一个基于历史数据的合理上限,既不会限制服务的正常运行,也可以尽量减少不必要的占坑。
物理内存:不解释 虚拟内存:进程独享,由操作系统通过地址映射的方式,转换为对物理内存的访问。在32位Linux机器上,每个进程的虚拟内存都是4G。(这里的虚拟内存与操作系统使用中过程常见的虚拟内存概念不同,不要混淆了,如Linux中swap)
最近整理SDK运行期间占用游戏内存的情况,分析的时候发现有VSS/RSS/PSS/USS四个值,专门整理一下,方便以后查阅。 名词解释: VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 大
Open Container Initiative(OCI)目前有2个标准:runtime-spec以及image-spec。前者规定了如何运行解压过的filesystem bundle。OCI规定了如何下载OCI镜像并解压到OCI filesystem bundle,这样OCI runtime就可以运行OCI bundle了。OCI(当前)相当于规定了容器的images和runtime的协议,只要实现了OCI的容器就可以实现其兼容性和可移植性。implements中列出了部分OCI标准的实现。本文不讨论windows下的实现,具体参见Open Container Initiative Runtime Specification
这篇文章本来是要讲 Go Memory Ballast 以及 Go GC Tuner 来调整 GC 的策略,实现原理怎么样,效果如何。但是在写的过程中,发现 Go 1.19版本出了,有个新特性让这两个优化终究成为历史。
RSS阅读器现在越来越成为一个小众的产品了。之前我在五款优秀的RSS阅读器推荐中介绍的InoReader、Feedly、Digg Reader等要么就是开始收费,要么就是“半死不活”了。尤其是坚持几年的Inoreader 从2019年开始就要收费了,是时候转投自建RSS阅读器了。
一般 Unix 系统中,用户态的程序通过malloc()调用申请内存。如果返回值是 NULL, 说明此时操作系统没有空闲内存。这种情况下,用户程序可以选择直接退出并打印异常信息或尝试进行 GC 回收内存。然而 Linux 系统总会先满足用户程序malloc请求,并分配一片虚拟内存地址。只有在程序第一次touch到这片内存时,操作系统才会分配物理内存给进程。具体我们可以看下如下demo:
Docker 是一个能让程序跑在一个它无法感知的、用于隔绝外界环境里的容器的工具。
mm_struct 结构体 在 Linux 源码 linux-4.12\include\linux\mm_types.h#359 位置 ;
【导读】专知内容组整理了最近七篇自注意力机制(Self-attention)相关文章,为大家进行介绍,欢迎查看! 1. A Structured Self-attentive Sentence Embedding(一个结构化的自注意力的句子嵌入) ---- 作者:Zhouhan Lin,Minwei Feng,Cicero Nogueira dos Santos,Mo Yu,Bing Xiang,Bowen Zhou,Yoshua Bengio 机构:Montreal Institute for Learn
缺乏足够的物理内存(RAM)的系统的运行速度将显着降低,因为进程在RAM和交换之间移动。如果Linux系统开始运行缓慢,则首先解决的任务之一是释放物理内存。
在使用resource设置当前进程的MEM_LIMIT的时候, 发现在我的CentOS6x和7x上都不work了, 测试代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- import sys import time import resource resource.setrlimit(resource.RLIMIT_RSS, (1024, 1024)) s = ' ' * (10 * 1024 * 1024) time.sleep(60) 查了一下资料, 总算
无论您是 DevOps 工程师、系统管理员还是刚入门 Kubernetes 的人,了解内存指标可能会改变游戏规则。
假设有个场景,数据库或者其它中间件的运行时文件句柄等参数设置过低,导致服务不可用或者间歇性不可用。
下面介绍本地使用docker快速简单部署Rsshub工具,并结合cpolar内网穿透工具,使得远程也可以访问RSS订阅源!
smem 是Linux系统上的一款可以生成多种内存耗用报告的命令行工具。与现有工具不一样的是 smem 可以报告 PSS【Proportional Set Size(按比例占用大小)】,这是一种更有意义的指标。可以衡量虚拟内存系统的库和应用程序所占用的内存数量。
新一年博士招生正式启动!本期我们将为大家介绍 2023 年清华交叉信息研究院博⼠招⽣及研究助理招募信息。 作为专业的全球人工智能信息服务平台,机器之心的读者中有大量活跃于人工智能学术领域的顶级学者,也有许多正在攻读 AI 方向的学生。 之前,机器之心发布了多篇与招收硕士 / 博士 / 博士后相关的文章,为广大读者传递了海内外招生的教授与实验室信息,引起了不错的反响。如今,又到了博士招生的季节,我们整理了海内外多所实验室的招生信息。 本期的招生信息来自即将加入清华交叉信息学院任助理教授的许华哲博士,他计划招募
一直以来 go 的 runtime 在释放内存返回到内核时,在 Linux 上使用的是 MADV_DONTNEED,虽然效率比较低,但是会让 RSS(resident set size 常驻内存集)数量下降得很快。不过在 go 1.12 里专门针对这个做了优化,runtime 在释放内存时,使用了更加高效的 MADV_FREE 而不是之前的 MADV_DONTNEED。具体可以参考这里:
领取专属 10元无门槛券
手把手带您无忧上云