我们在VPS上运行Ubuntu服务器。 通过放置不必要的空间,某些文件被意外删除: rm -r /usr/local <directory to be deleted> 我知道,在大多数情况下,这个目录被软件包用来放置他们内容的一部分。 有没有在哪里恢复删除的文件和目录? 我想,理论上这应该是可能的。 某些软件可以查看已安装软件包的列表,检查文件系统中是否存在文件,如果文件在/ usr / local中缺失,则恢复或重新安装损坏的软件包。
我有多个运行CentOS 5.4的服务器,只有一个运行在Java VM上的应用程序。 我已经用以下参数configuration了Java VM: java -Xmx4500M -server -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=1024m -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote=true 我运行虚拟机的机器有6 GB内存,没有其他应用程序在运行。 过了一会儿,java进程开始非常难以进入交换空间,我从top命令中获得了这个信息: 7658 root 25 0 11.7g 3.9g 4796 S 39.4 67.3 543:54.17 java 另一方面,如果我通过JConsole进行连接,则报告Java VM使用了2.6 GB,已提交4.6 GB和最大4.6 Gb。 java -version返回: java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04) Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode) 为什么Java VM在分配堆大小之前扩展得太多了? […]
这是设置: 我们有一个域名,mydomain.com。 一切都在我们自己的服务器,除了通过Gmail的一般电子邮件帐户。 目前gmail被设置为MXlogging。 该服务器还有各种电子邮件别名,它需要支持错误跟踪等。 例如[email protected] | /path/to/issuetracker.script 我正在努力设置,允许以下,本地和用户的电子邮件客户端。 guser1 – 有一个Gmail帐户和一个本地帐户 guser2 – 只有一个Gmail帐户 错误 – 在问题跟踪器的/ etc / aliases中有一个pipe道别名 scheme 邮件[email protected]从本地主机(crons等)需要去gmail帐户 从本地主机发送邮件到[email protected] mail到[email protected]需要通过pipe道传输到本地问题跟踪器脚本 所以,第一个刺正在创build一个交通地图。 在这种情况下,我们的服务器将被设置为MX,并且guser *指定的电子邮件被发送到gmail。 把Gmail用户放在地图上,如下所示: [email protected] smtp:gmailsmtp:25 [email protected] smtp:gmailsmtp:25 问题: 忽略扩展名,例如[email protected] 只有当append_at_myorigin = no(如果设置为yes,gmail拒绝连接:E4C7E3E09BA3:= =,relay = none,delay = 0.05,delay = 0.02 / 0.01 / 0.02 / 0,dsn = 4.4.1,status = deferred […]
我有一个web服务器作为一个批处理作业发送电子邮件到一个sendmail中继服务器。 邮件需要尽可能快地被中继sendmail服务器接受,但是,他们不需要很快出去(被中继)。 我试图连接到中继服务器,从networking服务器偶尔看到一些暂停。 目前的负载是几秒钟约30个电子邮件。 在sendmail调优指南中,有很多调优选项可用于sendmail。 我现在所关注的是交付模式: 交付模式 SendMode(d)configuration选项设置了sendmail可以运行的多种传送模式。 这些模式指定邮件传送的速度。 合法模式是: 我以交互方式交付(同步)b在后台交付(asynchronous)q只有队列(不交付)d推迟交付尝试(不交付)有折衷。 模式我给发件人最快的反馈,但可能会减慢一些邮件,几乎没有必要。 模式b可以及时提供,但是如果您的邮件程序需要很长时间才能发送消息,则可能会导致大量进程。 模式q将机器上的负载降到最低,但意味着交付可能会延迟到队列间隔。 模式d与模式q相同,只是它也阻止在包括-D标志的映射中查找在初始队列阶段工作; 它旨在“按需拨号”的网站,其中DNS查找可能花费真钱。 一些简单的错误消息(例如,在SMTP协议期间未知的主机)将被延迟使用这种模式。 模式b是通常的默认模式。 如果以模式q(仅限队列)运行,d(延迟)或b(在后台交付),sendmail将不会在最初收到邮件时扩展别名并跟踪.forward文件。 这加快了对RCPT命令的响应速度。 我不应该使用SMTP服务器的模式。 我目前有CentOS的默认模式: Sendmail.cf: DeliveryMode=background Submit.cf: DeliveryMode=i sendmail.cf/mc是用于从中继传出的电子邮件(到intertubes)和sumbit.cf/mc用于传入eamil(从我的web服务器)。 将传出交付模式更改为队列是否有意义? 如果我这样做了,出站电子邮件stream会有什么样的performance? 如果这是正确的事情,任何人都可以向我展示这个变化的例子MCconfiguration? 如果不是,这些限制有什么build议?
我在Linux服务器(内核2.6.37,16核心,32G内存)上的2个文件系统之间复制大文件(3 x 30G),而且性能下降。 我怀疑缓冲区caching的使用正在消除I / O性能。 为了尝试缩小问题,我直接在SAS磁盘上使用fio来监视性能。 这是2个fio运行的输出(第一个直接= 1,第二个直接= 0): configuration: [test] rw=write blocksize=32k size=20G filename=/dev/sda # direct=1 运行1: test: (g=0): rw=write, bs=32K-32K/32K-32K, ioengine=sync, iodepth=1 Starting 1 process Jobs: 1 (f=1): [W] [100.0% done] [0K/205M /s] [0/6K iops] [eta 00m:00s] test: (groupid=0, jobs=1): err= 0: pid=4667 write: io=20,480MB, bw=199MB/s, iops=6,381, runt=102698msec clat (usec): min=104, max=13,388, […]
碰到v8js-0.1.2(testing版)的问题 – 我看到其他人在网上已经成功了,但无论我运行的是哪个平台/操作系统,我总是遇到同样的问题。 我目前正在尝试构build模块,直接通过pecl ,并在源代码上使用phpize之后phpize 。 它发现V8安装, configure成功,然后出错: /usr/local/src/v8js-0.1.2/v8js.cc: In function 'int zm_startup_v8js(int, int)': /usr/local/src/v8js-0.1.2/v8js.cc:1135: error: 'PHP_V8_VERSION' was not declared in this scope /usr/local/src/v8js-0.1.2/v8js.cc: In function 'void zm_info_v8js(zend_module_entry*)': /usr/local/src/v8js-0.1.2/v8js.cc:1231: error: 'PHP_V8_VERSION' was not declared in this scope make: *** [v8js.lo] Error 1 如果我在v8js.cc中添加#define PHP_V8_VERSION "0.1.2" ,然后得到: /usr/bin/ld: cannot find -lv8 collect2: ld returned 1 exit […]
上周我们的一台映像服务器遇到了一些麻烦,需要一些帮助。 查看我们的munin监测图: 我们正在运行debian squeeze,我们有很多的要求,因为这是我们的图像服务器之一。 我们不使用保持活力(也许我们应该,但这是另一个话题) 这些数字是我们的日志文件每分钟的请求数量: 17:19:66516 17:20:64627 17:21:123365 17:22:111207 17:23:58257 17:24:17710 … 等等 所以你看,我们有很多请求每分钟,但由于大多数请求在0-1ms服务,一切运行良好。 现在,如你所看到的,在我们的图片中,munin没有设法连接到这个在munin端口上的服务器,并询问相关的数字。 连接只是失败。 由于服务器没有任何手段(CPU,内存,networking)过载。 它必须与我们的防火墙/ tcp堆栈有关。 当时这个munin插件没有连接,我们在100MBit的连接上只有17MB的input和输出stream量。 你经常在这里有65k的tcp连接的限制,但这通常是误导的,因为它指的是16位的tcp头,并且属于每个ip /端口组合的65k。 我们的time_wait超时设置为 net.ipv4.tcp_fin_timeout = 60 我们可以降低这个以降低更多的TIME_WAIT连接,但是首先我想知道什么限制了networking的可达性。 我们使用iptables和状态模块。 但是我们已经提出了max_conntrack参数。 net.ipv4.netfilter.ip_conntrack_max = 524288 有没有人知道下一周要看什么内核参数或如何诊断这个问题呢?
以下是发生问题的一个wireshark转储,用“客户”和“服务器”代替IP地址: 4414.229553 client -> server TCP 62464 > http [SYN] Seq=0 Win=65535 Len=0 MSS=1452 WS=3 TSV=116730231 TSER=0 4414.229633 server -> client TCP http > 62464 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=2406364374 TSER=116730231 WS=6 4414.263330 client -> server TCP 62464 > http [ACK] Seq=1 Ack=1 Win=524280 Len=0 TSV=116730231 TSER=2406364374 4418.812859 server -> client TCP […]
前几天我的Linux Apache服务器内存不足。 服务器是一个xen客人。 服务器杀死了除ssh以外的所有进程(甚至是cron,monit,syslog)。 在内存耗尽前一分钟,我的脚本保存了各种命令的输出。 这是输出: # free -m total used free shared buffers cached Mem: 2003 1866 137 0 3 1159 -/+ buffers/cache: 703 1300 Swap: 511 0 511 # vmstat 1 2 procs ———–memory———- —swap– —–io—- -system– —-cpu—- rb swpd free buff cache si so bi bo in cs us sy id wa […]
我在64位CentOS 5服务器上通过yum安装了mysql和服务器。 它启动正常,但当我试图阻止它失速,然后我必须“Ctrl-C”它。 然后我运行一个“服务mysqld状态”,它显示: mysqld dead but subsys locked 我运行ps aux和mysql无处可查。 通过“服务mysqld启动”再次启动mysqld工作正常。 试图阻止它会产生同样的问题。 然后我意识到/var/lock/subsys/mysqld仍然存在。 当运行mysqld时,我检查了/var/run/mysqld/mysqld.pid ,并且与正在运行的服务的pid相匹配。 我试图重新安装MySQL和删除所有文件和configuration,但无济于事。 该怎么办? 编辑: 我在/etc/init.d/mysqld文件中添加了一些echo语句,特别是在stop函数中: stop(){ if [ ! -f "$mypidfile" ]; then # not running; per LSB standards this is "ok" action $"Stopping $prog: " /bin/true return 0 fi echo "beginning stop sequence" MYSQLPID=`cat "$mypidfile"` if [ -n "$MYSQLPID" […]