我在运行在vm上的Win 2k8 R2上安装了Mercurial 1.8.1,Python 2.6.6.我尝试从msi,源码和使用tortisehg安装.命令行Hg工作正常,但运行hgweb.cgi时出现同样的错误:
Traceback (most recent call last):
File ".\hgweb.cgi", line 17, in
application = hgweb(config)
File "mercurial\hgweb\__init__.pyc", line 26, in hgweb
File "mercurial\hgweb\hgwebdir_mod.pyc", line 61, in __init__
File "mercurial\hgweb\hgwebdir_mod.pyc", line 70, in refresh
File "mercurial\ui.pyc", line 35, in __init__
File "mercurial\demandimport.pyc", line 75, in __getattribute__
File "mercurial\demandimport.pyc", line 47, in _load
File "mercurial\util.pyc", line 576, in
File "mercurial\demandimport.pyc", line 85, in _demandimport
File "mercurial\windows.pyc", line 21, in
File "mercurial\demandimport.pyc", line 75, in __getattribute__
File "mercurial\demandimport.pyc", line 47, … 我正在运行由第三方创建的小型可执行文件,需要在Windows 2008服务器上定期运行.这个可执行文件有效地将信息从一个系统ETL到另一个系统,并且需要每小时左右运行一次.作为其处理的一部分,可执行文件启动一个小的Windows窗体类型UI.
我已经设置了一个调度文件的计划任务,只有在配置运行任务的用户登录到计算机(本地或通过远程桌面)时,这才能正常工作.如果我将任务设置为以另一个用户身份运行,或者将任务设置为在未记录用户时运行,则会在计划任务上执行并执行错误.我尝试过以不同的用户身份运行,包括管理员用户和系统用户.是否有任何可能的解决方法(不更改我无权访问的第三方代码),这将允许在没有特定用户登录的情况下运行此代码.
我有一个SSIS包 - 两个数据流任务,每个8个组件,从两个平面文件读取,没什么了不起的.如果我在BIDS中运行它,它需要可靠的大约60秒.我有一个沙箱数据库服务器,其中包在一个作业中运行,也可以在30-60秒内可靠运行.在我的生产服务器上,使用相同程序包的相同作业需要30秒到12小时.
在程序包上启用日志记录后,它似乎在一个或另一个(或两个)数据流任务的预执行阶段陷入困境 - 最初至少.但是我也可以看到数据进入 - 慢慢地,以块为单位,所以我认为它确实会从那里开始.IO子系统受到攻击,SSIS生成许多大型临时文件(大约150MB - 我的输入数据文件只有大约24MB放在一起)并且正在从这些文件中进行大量读写(捶打?).
值得注意的是,如果我在生产服务器上指向包的BIDS实例,它仍然只需要大约60秒就可以运行!所以必须在那里运行dtexec,而不是DB本身.
我已经尝试优化我的包,减少输入行字节大小,并且我使两个数据流任务串行而不是并行运行 - 无济于事.
两个数据库服务器都运行MSSQL 2008 R2 64位,相同的补丁级别.两台服务器都是同一主机上的虚拟机,具有相同的资源分配.生产服务器上的负载不应该比沙盒服务器上的负载高得多.我能看到的唯一区别是生产服务器运行的是Windows Server 2008,而沙箱则位于Windows Server 2008 R2上.
救命!!!任何想尝试的想法都是受欢迎的,可能导致这种巨大差异的原因是什么?
这是我的包裹的样子......
控制流程非常简单:

数据流如下所示:

第二个数据流任务完全相同,只是使用不同的源文件和目标表.
控制流中的完成约束只是使任务串行运行以尝试并同时减少所需的资源(而不是它有助于解决问题)......两个任务之间没有实际的依赖关系.
我知道阻塞和部分阻塞转换的潜在问题(不能说我完全理解它们,但至少有些),我知道聚合和合并连接是阻塞的,可能会导致问题.然而,再一次,除了生产服务器之外,这一切都在其他所有环境中运行良好且快速...所以给出了什么?
合并连接的原因是使任务等待多播的两个分支完成.右分支在输入中找到最小日期时间并在该日期之后删除表中的所有记录,而左分支携带新的输入记录以进行插入 - 因此如果右分支在聚合和删除之前进行,则新记录将被删除(发生这种情况).我不知道有更好的方法来管理它.
"删除记录"中的错误输出始终为空 - 这是故意的,因为我实际上并不希望合并中来自该分支的任何行(合并仅用于同步完成,如上所述).
请参阅下面有关警告图标的评论.
sql-server ssis sql-server-2008 windows-server-2008 windows-server-2008-r2
我正在尝试在我的Windows文件系统上创建一个快捷方式(.lnk).我的代码工作正常.但是,当我在Windows 2008R2服务器上运行相同的控制台应用程序时,它的行为方式不同.
所以我有我的控制台应用程序,接下来会发生什么:
我的程序只是在桌面上创建了一个带有.docx扩展名的快捷方式,并且在我的本地计算机上一切正常.当我在我的服务器上运行相同的控制台应用程序时,它会创建相同的快捷方式,但目标已被修改 ...它将目标更改为.doc文件.
换句话说,当我运行控制台应用程序时:
LOCALMACHINE
创建指向U:\ test.docx的 MyWordFile.lnk
服务器
创建指向U:\ test.doc的 MyWordFile.lnk
这是一种奇怪的行为.这是
代码
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Text;
namespace TestShortcut
{
class Program
{
static void Main(string[] args)
{
//ShortcutTarget
var sTarget = @"U:\test.docx";
//ShortCutName
var sName = @"MyWordFile.lnk";
IShellLink link = (IShellLink)new ShellLink();
link.SetPath(sTarget);
IPersistFile file = (IPersistFile)link;
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
file.Save(Path.Combine(desktopPath, sName), false);
}
}
[ComImport]
[Guid("00021401-0000-0000-C000-000000000046")]
internal …Run Code Online (Sandbox Code Playgroud) 作为我们数据库的一部分,运行第三方程序(3D Studio Max)以导出大量资产.不幸的是,如果用户当前未登录,或者计算机已锁定,则Max无法正常运行.
这可以通过使用TweakUI等方法自动登录来解决新启动的计算机.但是,当用户通过远程桌面连接(以启动非预定的构建,更改设置等)时,在会话结束后,机器将处于锁定状态,而Max无法运行.
我正在寻找一种方法来配置窗口(通过公平的方式或犯规),因此它不会在远程会话结束时锁定,或者它在一段时间后"解锁"自身.我知道XP下的一个方法,你可以在机器上运行批处理文件,关闭远程用户,但这似乎不适用于Windows Server.
我是mongoDB的新手并且喜欢它到目前为止,我在我的开发本地工作,我在Win7上运行mongo作为服务.我把它作为服务在Win服务器2008上的VPS上运行.当我在服务器上它工作正常但我不知道要设置它以便我可以从服务器外部访问它?找不到任何好的文档.此外,我很难从本地计算机上对服务器进行备份/恢复,因为我无法从服务器外部看到它.
我想在主/从和主机上有更多的信息来正确设置它.
当我运行netstat -anb时,我得到了
TCP 127.0.0.1:27017 0.0.0.0:0 LISTENING
[mongod.exe]
TCP 127.0.0.1:27017 127.0.0.1:62990 ESTABLISHED
[mongod.exe]
TCP 127.0.0.1:28017 0.0.0.0:0 LISTENING
Run Code Online (Sandbox Code Playgroud)
这就是我对mongod.exe的全部
[编辑]
我尝试使用--bind_ip xxx.xxxx重新安装,现在xxx.xxxx:27017可以工作但只能在远程服务器上,如果我尝试从任何地方访问它失败.
此外,我关闭了防火墙,它没有改变任何东西.
非常感谢!
我最近搬到了Windows Server 2008 Enterprise上的64位操作系统.
在Windows 2003上,我的java程序似乎运行速度明显慢于32位.
真的会有任何反馈.
这是一个已知的问题?是否有特定设置来提高性能?
(我知道移动到64位会有很小的性能损失,但我看到了显着的性能损失).
我有一个用ASP.NET编写的应用程序,它使用DllImport引用用Delphi编写的dll.在我的Windows 7开发机器上使用asp.net开发服务器访问ddl按预期工作.
但是,在运行IIS 7的Windows Server 2008生产服务器上,DLL将返回错误"无法找到页面",并且以下错误会弹出到应用程序日志中:
Faulting application w3wp.exe, version 7.0.6002.18005, time stamp 0x49e023cf, faulting
module ntdll.dll, version 6.0.6002.18005, time stamp 0x49e03821, exception code
0xc0000374, fault offset 0x000afaf8, process id 0xab8, application start time
0x01cc6947b1bb081b.
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题或如何找到更深层的原因?
当使用内核对象来同步在不同CPU上运行的线程时,使用Windows Server 2008 R2相对于其他操作系统可能会有一些额外的运行时成本吗?
编辑:通过答案发现,问题还应该包括"在较低的CPU利用率水平下运行"这一短语.我在自己对这个问题的回答中包含了更多信息.
我研究的产品使用共享内存和信号量进行进程间的通信(当两个进程在同一台机器上运行时).有关Windows Server 2008 R2(我在此之后缩短为Win2008R2)的性能问题的报告使我发现在Win2008R2上的两个线程之间共享信号量与其他操作系统相比相对较慢.
我能够通过在两个线程上同时运行以下代码来重现它:
for ( i = 0; i < N; i++ )
{
WaitForSingleObject( globalSem, INFINITE );
ReleaseSemaphore( globalSem, 1, NULL );
}
Run Code Online (Sandbox Code Playgroud)
使用可以双启动到Windows Server 2003 R2 SP2和Windows Server 2008 R2的计算机进行测试,上面的代码片段在Win2003R2机器上运行速度比Win2008R2快7倍(Win2003R2为3秒,Win2008R2为21秒).
以下是上述测试的完整版本:
#include <windows.h>
#include <stdio.h>
#include <time.h>
HANDLE gSema4;
int gIterations = 1000000;
DWORD WINAPI testthread( LPVOID tn )
{
int count = gIterations;
while ( count-- )
{
WaitForSingleObject( gSema4, INFINITE );
ReleaseSemaphore( gSema4, …Run Code Online (Sandbox Code Playgroud) c performance multithreading synchronization windows-server-2008
我在Azure上使用Windows Server 2012 R2.
"日期和时间"中的系统时间不能设置为更早的日期,但可以设置为将来的日期.
注意:
每当我设置为更早的日期时,系统时间会自动更改为当前的正确时间.
Internet时间同步已被禁用.