我正在创build一个dockerfile来运行一个绑定到特定版本的Java的自定义应用程序。 我正在使用一个centos7的基础图像,因为这是我所指的文章正在使用,因为我必须使用一些东西,所以这是一样好。 我真的不在乎我使用的用户区。 这个映像的意义在于所托pipe的软件,Linux发行版本身只是一个手段而已 – 重要的是,JDK不会被其他应用程序或用户使用。 如上所述,我的应用程序与我正在使用的特定版本的Java相关 – 任何对Java版本的更新都需要在特定版本发布之前对软件进行完整的回归testing。 我正在关注的文章是从相关dockerfile JDK安装部分开始的,如下所示: FROM centos:centos7 RUN yum makecache \ && yum update -y \ && yum install -y \ java-1.8.0-openjdk-devel \ && yum clean all 这不够具体,任何时候的图像构build将得到一个随机版本的Java,这是不是我想要的,我需要一个特定的Java版本。 我改变了docker文件看起来像这样: FROM centos:centos7 RUN yum makecache \ && yum update -y \ && yum install -y \ java-1.8.0-openjdk-devel-1.8.0.65-3.b17.el7 \ && yum […]
我试图在一组隔离的CPU上运行multithreading基准testing。 长话短说,我最初尝试使用isolcpus和taskset ,但遇到了问题 。 现在我正在玩cgroups / cset。 我认为“简单的” cset shield用例应该很好地工作。 我有4个核心,所以我想使用核心1-3进行基准testing(我也将这些核心configuration为自适应刻度模式),然后核心0可以用于其他任何事情。 遵循这个教程,它应该像下面这样简单: $ sudo cset shield -c 1-3 cset: –> shielding modified with: cset: "system" cpuset of CPUSPEC(0) with 105 tasks running cset: "user" cpuset of CPUSPEC(1-3) with 0 tasks running 所以现在我们有一个孤立的“盾牌”(用户密码)和核心0是其他任何东西(系统密码)。 好吧,看起来不错。 现在让我们看看htop 。 这些进程应该都已经迁移到CPU 0上: 咦? 一些过程显示为在屏蔽内核上运行。 为了排除htop有bug的情况,我也尝试使用taskset来检查显示在屏蔽中的进程的亲和性掩码。 也许这些任务是不可移动的? 让我们在htop上采集一个显示为在CPU3上运行的任意进程(应该在屏蔽中),并根据cset来查看它是否出现在系统cgroup中: $ cset shield […]
我误以为限制模块是每个源IP,但它似乎是基于所有请求: 577 36987 ACCEPT icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 limit: avg 3/sec burst 5 46 3478 LOG icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 LOG flags 0 level 4 prefix `INET-PING-DROP:' 46 3478 DROP icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 … 0 0 ACCEPT icmp — […]
我正在使用wget将一些文件从一台服务器镜像到另一台服务器。 我正在使用以下命令: wget -x -N -i http://domain.com/filelist.txt -x =因为我想保持目录结构 -N =时间戳只能得到新的文件 -i =从外部文件下载文件列表,每行一个。 小文件,如一个我正在testing的326kb大下载就好了。 但是另一个是5GB只下载203MB然后停止(总是203MB给或几千字节) 显示的错误信息是: 无法写入到“path/ to / file.zip” (我不知道为什么前后有奇怪的字符,我在Windows中使用腻子,这可能会或可能不会有什么关系,所以我把它们放进去了,我不假定)。 完整的回应如下:(我已经replacepath,IP和域名) – 2012-08-31 12:41:19– http://domain.com/filelist.txtparsingdomain.com … MY_IP连接到domain.com | MY_IP |:80 …已连接。 发送HTTP请求,等待响应… 200 OK长度:161 [文本/纯文本]服务器文件不比本地文件更新âdomain.com/filelist.txtâ – 2012-08-31 12:41:19 – http://domain.com/path/to/file.zip连接到domain.com | MY_IP |:80 …已连接。 HTTP请求发送,等待响应… 200 OK长度:5502192869(5.1G)[application / zip]大小不匹配(本地213004288) – 检索。 – 2012-08-31 12:41:19 […]
在过去的几天里,我一直在试图理解我们基础架构中发生的奇怪事情,但是我一直无法想象它,所以我正在转向你们给我一些提示。 我一直在注意到Graphite,load_avg中的尖峰大约每2个小时发生一次致命的规律 – 这不是完全是2个小时,而是非常规律的。 我附上了我从Graphite拿来的截图 我一直在调查这一点 – 这种规律导致我认为这是某种cron工作或类似的东西,但没有在这些服务器上运行的cronjob – 实际上这些是在Rackspace云运行的虚拟机。 我正在寻找的是某种迹象可能会导致这些问题,以及如何进一步调查。 服务器相当闲置 – 这是一个临时环境,所以几乎没有stream量进入/应该没有负载。 这些都是4个虚拟核心虚拟机。 我所知道的是,我们每10秒钟就会收集一堆Graphite样本,但如果这是造成负载的原因,那么我认为它会持续高涨,而不是在不同的服务器上每隔2小时发生一次。 任何帮助如何调查这将不胜感激! 以下是一些来自app01的数据 – 这是上图中的第一个蓝色尖峰 – 我无法从数据中得出任何结论。 也不是说,每半小时(不是每2小时)发生的字节写数就是每30分钟一次的厨师客户端。 即使我已经做了这些,但是我也会尽力收集更多的数据,但是也不能从这些数据中得出任何结论。 加载 09:55:01 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 10:05:01 PM 0 125 1.28 1.26 0.86 0 10:15:01 PM 0 125 0.71 1.08 0.98 0 10:25:01 PM 0 125 4.10 3.59 […]
我有一个RAID1目前在一个单一的硬盘驱动器(是的,镜子是缺席)。 是否可以使用以下algorithm重新组织我的系统? 我build立了另一个单磁盘RAID1(在同一types的另一个硬盘上),对其进行分区并在其上安装一个新的Debian实例。 我装入旧的单磁盘RAID1设置,并将其中的所有数据复制到新的RAID。 然后我重新格式化旧磁盘,并将其包含到新的RAID设置中。 我主要怀疑第二点 – 我该怎么做?
我担心我可能会login一天,我的完全configuration的实例已被删除。 我希望能够每天备份到S3,但令人沮丧的是,这不是一个简单的控制台设置。 有一个简单的托pipe解决scheme,可以照顾备份,如果不可思议的事情发生,让我简单地恢复它的直接了吗?
我有一个48核心的Linux机箱。 我想监视每个核心的CPU使用情况。 但是,当我使用top ,然后按1我得到一个错误信息"Sorry, terminal is not big enough"有反正我可以增加terminal窗口的大小。 马克斯(腻子)我的笔记本电脑可以做〜46线。 在putty或shell的ROWSvariables中增加窗口大小没有帮助。
我希望能够在运行诸如安装程序之类的程序时跟踪对我的文件系统所做的修改列表,以便我可以在之后恢复它们。 编辑:这涉及一个非打包的程序。 我尽可能使用apt-get。 理想情况下,我希望能够做到这样的事情: (sudo) catch-modifs some-installer.bin > fsmodifs.patch 接着: (sudo) revert-modifs fsmodifs.patch 有没有一个方便的方法来做到这一点?
我目前使用mdadm实用程序在Linux下构build了一个软件RAID,我已经阅读了一些文章,介绍了如何增加该RAID的stripe_cache_size值以及如何为stripe_cache_size计算适当的值。 我已经增加到16384,而我在/ proc / mdstat中的新RAID5的当前同步速率已经从71065K /秒跳到了143690K /秒(翻了一番!),这是个好消息。 我也看到匹配和预期增加的内存使用量,但我找不到有关此设置和它是如何工作的任何文档。 它似乎是RAM中存在的RAID的某种caching。 我可以通过改变它的名字和效果来看出这一点。 有没有官方的“Linux”文档对此进行设置和描述?