UNIX/Linux 是多任务的操作系统,通过多个进程分别处理不同事务来实现,如果多个进程要进行协同工作或者争用同一个资源时,互相之间的通讯就很有必要了
消息队列的基本结构是简单的,有一个客户端应用程序称为生产者,创建消息,并将它们传送到消息队列。其他应用程序,称为消费者,连接到队列,并得到要处理的消息。放置在队列上的消息被存储,直到用户处理它们为止。
当在CentOS 7.9上搭建Web服务器时,以下是一些可以优化内核参数的建议。可以使用sysctl命令来临时修改这些参数,或者将它们添加到系统的配置文件以在启动时应用。
2. IBM 宣布推出 50TB 企业级磁带机和磁带盒 --www.forbes.com
greenplum 常用的配置参数 1、参数列表 2、参数含义解释 greenplum 常用的配置参数 1、参数列表 # cat /etc/sysctl.conf kernel.shmmax = 1800000000000 kernel.shmmni = 8192 kernel.shmall = 1800000000000 kernel.sem = 1000 10240000 400 10240 kernel.sysrq = 1 kernel.core_uses_pid = 1 kernel.msgmn
.共享内存大小的设置 临时设置: 通过修改/proc/sys/kernel/shmmax参数可以达到此目的。 [root@neirong root]# echo 1073741824 > /proc/sys/kernel/shmmax [root@neirong root]# more /proc/sys/kernel/shmmax 1073741824这里设为1G。 对于shmmax文件的修改,系统重新启动后会复位。可以通过修改 /etc/sysctl.conf 使更改永久化。 永久设置:
这样,即使进程重启,依然可以延用之前的队列,队列中若有未处理完的数据可以继续通过pop()取得。
socket缓冲区大小:/proc/sys/net/core/wmem_default or rmem_default
当一个系统的CPU空闲时间或者等待时间小于5%时,我们就可以认为系统的CPU资源耗尽,我们应该对CPU进行性能调优。
目前我们所提到的容器技术、虚拟化技术(不论何种抽象层次下的虚拟化技术)都能做到资源层面上的隔离和限制。
如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle-validated包来简化主机配置的部分工作。
本文出自:[url]http://www.nsfocus.com[/url] 维护:小四 6. /etc/system可调资源限制 6.1 Solaris下如何限制每个用户可拥有的最大进程数 6.2 如何配置系统使之支持更多的伪终端 6.3 如何增加每个进程可打开文件句柄数 6.4 6.5 做了setuid()这类调用的程序如何产生core dump 6.6 消息队列调整 -------------------------------------------------------------------------- 6. /etc/system可调资源限制 6.1 Solaris下如何限制每个用户可拥有的最大进程数 A: Casper Dik 在/etc/system设置 set maxuprc = Q: maxusers参数究竟影响了什么 A: Casper Dik 下面以/etc/system语法格式举例说明: * set maxusers = <以MB为单位计的可用物理内存数量> * 系统所允许的最大进程数,通常最多30000 set max_nprocs = 10 + 16 * maxusers * 每个用户可以拥有的最大进程数(为超级用户保留5个) set maxuprc = max_nprocs - 5; # sysdef | sed -n '/System Configuration/,$p' 6.2 如何配置系统使之支持更多的伪终端 A: Argoth 不要试图通过'/usr/bin/adb -k'到达目的。 a. 如果Solaris版本小于7,修改/etc/system,增加如下行 set pt_cnt= 执行/usr/sbin/reboot -- -r,或者Stop-A,执行boot -r b. 对于Solaris 8,支持的伪终端数目根据需要动态改变,系统依然有一个内部限制, 但是这个值非常大。如果"pt_cnt"变量小于这个内部限制,将被忽略。一般情况 下,不再需要指定"pt_cnt"变量。但还是有某些罕见的情形,需要设置"pt_cnt" 变量大于内部限制。 6.3 如何增加每个进程可打开文件句柄数 A: Casper Dik 从Solaris 2.4开始,可以通过修改/etc/system实现 * set hard limit on file descriptors set rlim_fd_max = 4096 * set soft limit on file descriptors set rlim_fd_cur = 1024 软限制超过256时,某些应用程序会出问题,尤其BCP程序。软限制超过1024时,那些 使用select()的应用程序可能会出问题。Solaris 7之前,select()使用的文件句柄 数不能超过1024。Solaris 2.6的RPC代码被重写过了,使用poll()代替select(),可 以使用超过1024的文件句柄。Solaris 2.6之前,如果软限制超过1024,所有RPC服务 很可能崩溃。 Solaris 7下select()可以使用最多达65536的文件句柄,64-bit应用程序缺省情况如 此。如果是32-bit应用程序,需要指定给FD_SETSIZE一个更大的值,重新编译。 如果程序使用标准输入/输出(stdio),或者调用那些使用stdio的库函数,当打开的 文件超过256时,程序可能会出问题,这个限制是stdio的限制。当程序需要大量文件 句柄时,应该想办法保留一些小数字的文件句柄,让stdio使用它们。 Solaris 7下64-bit应用程序不再受这个stdio限制的影响。如果你的确需要超过256 个FILE *,而又不能使用Solaris 7,或者需要运行32-bit代码,考虑使用来自AT&T 的SFIO([url]http://www.research.att.com/sw/tools/sfio/[/url])。 A: [email]qaz@smth.org[/email] 检查当前设置 # ulimit -H -n 1024 # ulimit -S -n 64 # 对于Solaris,建议修改/etc/system后重启 * set hard limit on file descriptors set rlim_fd_max=0x8000 * set soft limit on file descriptors set rlim_fd_cur=0x8000 然后 ulimit -S -n 8192 对于Linux echo 65536 > /proc/sys/fs/file-max 然后 ulimit -S -n 8192 对于FreeBSD 编辑/etc
网络配置多分区和PureScale环境下,需要将所有服务器都添加到hosts文件中
用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存。其它设备如 UPS 等在重要应用中也应考虑。下面给出安装 DM 所需的硬件基本配置:
OS:Red Hat Centos Linux Server release 7.3
个人觉得GP目前比较尴尬。性能比Presto稍差点,唯品会已经把GP改用Presto替换看了。另外数仓/数据集市方面还有性能强悍的HAWQ ,支持更大数据规模Hadoop。
一、前言 1) Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。 2) Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断。 加粗斜体表示可以直接运行的命令。 下划线表示文件的内容。 二、/proc/sys/kernel/优化 1) /proc/sys/kernel/ctrl-alt-del 该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应。这两个值分别是: 零(0)值,表示捕获ctrl+alt+delete,并将其送至 init 程序;这将允许系统可以安全地关闭和重启,就好象输入shutdown命令一样。 壹(1)值,表示不捕获ctrl+alt+delete,将执行非正常的关闭,就好象直接关闭电源一样。
CDH 6.3.1集群主机: 172.16.1.124:NameNode、SecondaryNameNode 172.16.1.125:DataNode 172.16.1.126:DataNode 172.16.1.127:DataNode
本节主要从snova原生环境-greenplum编译安装入手,熟悉原生环境操作及使用。
1.消息队列 1)消息队列提供了一个从进程向另外一个进程发送一块是数据的方法 2)每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型 不足之处: 每个消息的最大长度是有限制的。MSGMAX 每个消息队列的总的字节数也是有上限。MSGMNB 系统上消息队列的总数也有一个上限。MSGMNI 可以这样查看这三个限制:
Linux Namespace是Linux提供的一种内核级别环境隔离的方法。很早以前的Unix有一个叫chroot的系统调用(通过修改根目录把用户jail到一个特定目录下),chroot提供了一种简单的隔离模式:chroot内部的文件系统无法访问外部的内容。Linux Namespace在此基础上,提供了对UTS、IPC、mount、PID、network、User等系统资源的隔离机制。在此机制下,这些系统资源不再是全局性的,而是属于特定的Namespace。每个Namespace里面的资源对其他Namespace都是透明的。要创建新的Namespace,只需要在调用clone时指定相应的flag。Linux Namespaces机制为实现基于容器的虚拟化技术提供了很好的基础,LXC(Linux containers)就是利用这一特性实现了资源的隔离。不同container内的进程属于不同的Namespace,彼此透明,互不干扰。
vmstat 1 每隔一秒输出系统状态,数据来源/pro/stat,输出各列的含义
烧写内容 : BootLoader, Linux Kernel, File System;
本文主要探讨了Linux消息队列的发送、接收以及异步通知机制。首先介绍了消息队列的发送和接收过程,然后详细描述了异步通知的方式,最后通过一个示例展示了如何使用epoll机制实现异步通知。
Linux 内核是开源类 Unix 系统宏内核。仅仅一个内核并不是一套完整的操作系统。有一套基于 Linux 内核的完整操作系统叫作 Linux 操作系统。Kernel 是 Linux 系统的核心,主要负责硬件的支持。
上节 从一个简单的汇编程序学习汇编程序的结构以及编译链接的过程中,打印hello world的汇编程序的详细解释为:
如上图,问题都是出在fs/yaffs2/下,很多error都讲述:调用的成员名,在struct mtd_info结构体里没有定义.
1. Failed to initialize NVML: driver/library version mismatch 问题:服务器更新 N 卡驱动版本之后,内核中的 N 卡驱动模块没有更新。 解决:有两种方式解决 2. NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and runni
因为图片比较大,压缩的比较厉害,所以很多细节都看不清了,我单独传了一份到github上,想要原版图片的,可以点击下方的链接,来访问github:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
这几天在看 ipvs 相关代码的时候又遇到了 netlink 的事情,所以这两天花了点时间重新把 netlink 的事情梳理了一下。
本节主要学习: 详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0" 中怎么实现bootm命令启动内核.
本文介绍了从裸机程序、操作系统和硬件抽象层三个方面分析Linux内核,并详细介绍了Linux内核的初始化过程、进程管理、内存管理、设备驱动、中断处理、性能优化等方面的知识。
Inline Hook技术能够帮助我们完成函数的动态拦截和跳转,但要实现缺陷函数的自动化热修复则会面临更加复杂的挑战。本文从一个实际例子出发,阐述了在对二进制形式的Linux固件做自动化安全加固的时遇到的技术难题和解决办法。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014688145/article/details/50575588
vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等情况。在操作系统性能分析中,能100%理解vmstat输出的含义并灵活应用,是性能分析必备的基本能力。
Linux 内核属于 5.11.4、5.10.21、5.4.103、4.19.179、4.14.224、4.9.260、4.4.260 或以上版本,已修复了这些漏洞。
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-5.5.9-1.el7.elrepo.x86_64.rpm
以虚拟化PC为应用的数据中心服务器群增长很快。本文介绍的这个架构,优点是增加全局系统安全。
上周Linux内核修复了4个CVE漏洞[1],其中的CVE-2019-11477感觉是一个很厉害的Dos漏洞,不过因为有其他事打断,所以进展的速度比较慢,这期间网上已经有相关的分析文章了。[2][3]
根据给定的文章内容,撰写摘要总结。
但是有时候,驱动不够新,比如14.04用的是340.98版本,如果手动安装驱动可以参考官网指南。
由于公司服务器新业务需要,需要将CentOS 7系统的内核(3.10.0-229)进行升级。
作者:Hcamael@知道创宇 404 实验室 时间:2019 年 6 月 26 日 英文版本:https://paper.seebug.org/967/
在这里总结一下我在移植Linux2.6.22.6内核过程时的步骤。移植成功后最终能挂接做好的根文件系统,并且启动第一个init程序。移植的步骤如下:
经常在后台收到读者的交流,Linux 源码那么庞大,飞哥你是如何读的呢?由于问这个问题的太多,我想有必要专门写一篇文章聊一聊。
Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。
1.首先去清华的TUNA或者中科大的USTC的elrepo下载适合自己的内核rpm包,我的是64位的,地址如下:
领取专属 10元无门槛券
手把手带您无忧上云