问题列表 - 第43970页

使用Perl获取WMI内存值

我需要使用WMI收集Windows操作系统的内存数据.从这个意义上说,我开发了一个Perl脚本来生成这样的数据.但是,我想知道我的方法是否正确以及有哪些替代方案.在Windows操作系统方面,收集数据的方法应尽可能广泛.

如果你不是一个perlish,这就是我要检查的内容:

MEM_USED = Win32_OperatingSystem->TotalVisibleMemorySize - Win32_OperatingSystem->FreePhysicalMemory
SWAP_USED = (Win32_OperatingSystem->SizeStoredInPagingFiles - Win32_OperatingSystem->FreeSpaceInPagingFiles) /  Win32_OperatingSystem->SizeStoredInPagingFiles
Run Code Online (Sandbox Code Playgroud)

这是我的脚本:

#!/bin/env perl

use Win32::OLE;

use strict;
use warnings;

my $wmi = Win32::OLE->GetObject("winmgmts://./root/cimv2")
  or die "Failed getobject\n";

my $list, my $v;

$list = $wmi->InstancesOf("Win32_OperatingSystem")
  or die "Failed getobject\n";

my $end_time = time;


my ($total_mem, $free_mem, $used_mem, $mem_percent, $free_percent);

foreach $v (in $list) {

  $total_mem = $v->{TotalVisibleMemorySize};
  $free_mem = $v->{FreePhysicalMemory};
  $used_mem = $total_mem - $free_mem;
  $mem_percent = sprintf("%.2f", $used_mem / $total_mem * 100);
  $free_percent  =  sprintf("%.2f", $free_mem …
Run Code Online (Sandbox Code Playgroud)

perl wmi

5
推荐指数
1
解决办法
3078
查看次数

SQL查询:为每个不同的字段值选择最近的条目?

我有这张桌子位置:

CREATE TABLE `position` (
  `idposition` bigint(20) NOT NULL AUTO_INCREMENT,
  `latitude` varchar(45) DEFAULT NULL,
  `longitude` varchar(45) DEFAULT NULL,
  `timestamp` datetime DEFAULT NULL,
  `fk_email` varchar(100) DEFAULT NULL,
Run Code Online (Sandbox Code Playgroud)

这个人口:

idposition  latitude    longitude   timestamp              fk_email
        1   39.49333    -0.33667    2010-12-10 17:15:39     david@test.es
         4  39.47333    -0.36167    2010-12-11 09:58:47     ronald@test.es
         5  39.50333    -0.34267    2010-12-10 21:11:10     david@test.es
        10  39.44333    -0.41667    2010-12-12 18:17:26     fanny@test.es
        11  39.45199    -0.31967    2010-12-12 21:01:18     victor@test.es
        12  39.52133    -0.36167    2010-12-12 17:43:11     carlos@test.es
        13  39.43199    -0.31967    2010-12-14 15:45:25     victor@test.es
        14  39.41199    -0.34567    2010-12-14 20:46:09     victor@test.es …
Run Code Online (Sandbox Code Playgroud)

sql

0
推荐指数
1
解决办法
433
查看次数

C++日志和性能调优库

我需要在Windows上对一些实时代码进行性能分析.

我不能使用任何常规分析器(Vtune,Codeanalyst),因为我无法减慢可执行文件的速度.所以我使用自己的基于QueryPerformanceCounter()的计时类.

然后是任何现有的(免费)C++库来记录结果 - 但是我需要将它们缓冲到运行结束时,我在收集数据时没有时间写入文件或事件日志.

很容易滚动我自己,但如果有一种方法可以将log4cplus/qDebug或类似日志记录到缓冲区并稍后转储它将节省一些精力.

c++ performance logging

12
推荐指数
1
解决办法
2307
查看次数

使decimal.Decimal成为Python中的默认数值类型

有什么方法可以生成decimal.Decimal是Python中所有数值的默认类型吗?我希望能够以类似于bc和dc程序的方式使用Python,而不必为每个数字调用decimal.Decimal(...).

编辑:对于没有经验的人:bc.

编辑2:谢谢你的标记模块..

python interpreter decimal bc dc

15
推荐指数
2
解决办法
1414
查看次数

为什么无法获取已启动进程的主窗口句柄?

我有一种情况,我在我的代码中启动一个进程,以便建立一个IPC通道.我正在开始的过程是一个没有CLR支持的MFC应用程序.我开始这个过程的应用程序是WPF应用程序中的C#模块(我认为这不是我的问题的结果).这适用于支持CLR的应用程序版本,它适用于除部署目标之外的每台计算机,Windows 7的触摸屏计算机.但出于某种原因,当我尝试使用此确切方案时,Process对象永远不会解析主窗口句柄(Process.MainWindowHandle).这样做有另一种(甚至是pinvoke)方法吗?这是安全的事吗?我是那个盯着这个过程的人.进程的主窗口句柄确实存在.我看不出有什么不对.

如果它有帮助,这是我的代码.

        _applicationProcess = new Process();
        _applicationProcess.StartInfo.FileName = _strProcessPath;
        _applicationProcess.StartInfo.Arguments = _strProcessArguments;
        _applicationProcess.Start();

        long nTicks = Environment.TickCount;
        if (_applicationProcess.WaitForInputIdle(1 /*minute(s)*/ * 60000))
        {
            try
            {
                do
                {
                    // Don't let total processing take more than 1 minute(s).
                    if (Environment.TickCount > nTicks + 1 /*minute(s)*/ * 60000)
                        throw new ApplicationException("MFCApplication.Startup failed! The main window handle is zero!");

                    _applicationProcess.Refresh();
                }
                while (_applicationProcess.MainWindowHandle.ToInt32() == 0);

                _applicationHandle = new IntPtr(_applicationProcess.MainWindowHandle.ToInt32());
            }
            catch (Exception ex)
            {
                //Do some stuff...
                throw;
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# wpf mfc ipc process

9
推荐指数
1
解决办法
1万
查看次数

修改和重新编译Android SDK

我知道在Android中实现的一些方法和一些类不会导出到Android公共SDK.我已经能够通过编译我的应用程序将其置于Android树中来创建一个使用其中一些功能的应用程序.是否可以通过从源代码重新编译将这些函数导出到Android SDK?如何才能做到这一点?我也可以在Android SDK中包含自定义类和函数(当然我假设我创建了一个新的SDK和一个新的固件)?谢谢!

android android-2.2-froyo

5
推荐指数
1
解决办法
3724
查看次数

如果monotouch可用,为什么要使用xcode?

如果单声道触摸可用,那么为什么我们应该使用mac环境(sdk,xcode + Interface Builder)?

与xcode相比,monotouch的缺点是什么?

iphone mono objective-c monodevelop xamarin.ios

9
推荐指数
3
解决办法
3265
查看次数

html按钮,值="提交"没有显示?

我正在寻找值="提交"以显示在按钮的中间.我没有看到任何文字,不知道为什么?

<button type="button" class="button btn_big_blue" value="Submit"></button>

.button{
    display: block;
    width: 137px;
    height:    44px;
    text-align:center;
    line-height: 40px;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    color:#fff;
    border:none;
    cursor: pointer;
}

.button.btn_big_blue {
    background: url(/img/btn_big_blue.png) no-repeat;
    color: #fff;
}
Run Code Online (Sandbox Code Playgroud)

html css button

4
推荐指数
1
解决办法
1万
查看次数

Django - 如何停止重复查询?

所以我试图检索一个博客条目列表,其中包含作者的外键:

在我看来:

data = {'entries':Entry.objects.all()}
Run Code Online (Sandbox Code Playgroud)

然后在我的模板中:

<td valign="top">{{ entry.author }}</td>
Run Code Online (Sandbox Code Playgroud)

这是每个条目访问数据库一次以获取作者的详细信息.我理解这一点,但是当作者是相同的时候,有没有办法'缓存'结果?例如,如果一个条目的作者"关系"为1,我可以存储结果,因此如果任何其他条目具有相同的作者"关系",则不需要再次访问数据库吗?

我敢肯定这一定是可能的,但我在文档中找不到它:(

django

0
推荐指数
1
解决办法
211
查看次数

为什么不在System.Double和System.Long上使用volatile?

有人问过像我这样的问题,但我的情况有点不同.现在的问题是,"为什么volatile关键字不允许C#在类型System.DoubleSystem.Int64等?"

乍一看,我回答了我的同事,"好吧,在32位机器上,这些类型至少需要两个滴答才能进入处理器,.Net框架的目的是抽象出像这样的处理器特定细节. " 他回答说:"如果由于处理器特定的问题导致你无法使用某个功能,那么它就不会抽象出任何东西!"

他暗示一个特定于处理器的细节不应该出现在使用框架的人身上,这个框架"抽象"远离程序员的细节.因此,框架(或C#)应该抽象出那些并做它需要做的事情来提供相同的保证System.Double等等(无论是信号量,内存障碍还是其他).我认为框架不应该增加信号量的开销volatile,因为程序员不期望使用这样的关键字这样的开销,因为32位类型不需要信号量.64位类型的更大开销可能会让人感到意外,因此,更好的.Net框架只是不允许它,并且如果开销是可接受的,那么就可以在更大的类型上使用自己的信号量.

这导致我们调查volatile关键字的全部内容.(见页).该页面在说明中说明:

在C#中,在字段上使用volatile修饰符可确保对该字段的所有访问都使用VolatileRead或VolatileWrite.

嗯..... VolatileRead并且VolatileWrite都支持我们的64位类型!! 那么我的问题是,

"为什么volatile关键字不允许C#在类型System.DoubleSystem.Int64等?"

.net c# multithreading volatile

40
推荐指数
3
解决办法
7986
查看次数