我有一个处理多处理器系统时遇到问题的应用程序。这不是一个应用程序,我对修改有特别的感情,如果可能,我想避免它。不过,如果必须修改代码,我并不在上面。该应用程序是用VBA编写的(因此我倾向于避免触摸它)。如何指定处理器亲和力?
我们注意到,应用程序似乎如果我们使用任务管理器中的处理器关系设置为单个处理器,只有当没有设置处理器亲和力表现不稳定相当顺利运行。
我知道我可以使用.NET指定一个任务的处理器关联性,因此,我有可能编写一个shell应用程序,该应用程序可用于以指定的处理器关联性运行旧应用程序,是否有人任何有关这方面的经验,并可以抛出一些想法,我可能会遇到这种方法头痛?
另一个问题是:它实际上有可能修改核心VBA产品来处理其自己的处理器亲和力?我从来不需要在本地处理任何应用程序,所以此时(此时)完全超出了我的专业领域。
在此先感谢
我很想知道,当没有设置处理器亲和力你看到的问题。这些问题如何体现出来? – 2010-06-01 13:32:10
@Gary McGill:我们看到的问题(使用Access 2003编写的应用程序 - 并且在Access 2007/2010中不起作用)是应用程序崩溃和一般Access不稳定。该应用程序最初是在单CPU /单核机器上编写的,现在我们正在替换问题。该应用程序在多CPU和多核机器上具有各种不稳定性,但在旧机器上仍可正常工作。当我们设置处理器亲和力时,不稳定性不再是问题。该应用程序正在被重写,但在完成之前,我们被困在一块岩石和一个困难的地方。 – BenAlabaster 2010-06-02 16:16:18
您是否在VBA应用程序中使用多个线程?如果将多线程应用程序限制为单个处理器可以提高性能,那通常表示存在虚假缓存问题 – 2010-06-24 20:51:42