2016-10-26 9 views
0

В моем проекте содержится измерительная температура при разных нагрузках, установленных на способность малины, чтобы увидеть, будет ли работать малины «труднее» или нет, что повлияет на вход датчика температуры. Я использую окна 10 на моей малине pi 2 model B, и у меня проблемы с поиском достаточного количества источников об этом, поэтому прошу здесь.IoT Raspberry Pi 2 - Принудительная нагрузка на него

  • Можно ли какое-то образом поставить нагрузку на малине программна из Visual Studio в качестве универсального применения для малины, с точкой зрения, возможно, заставляя его увеличить использование доступной оперативной памяти или, возможно, ограничивая его? Если да, то что было бы лучшим решением для этого?

  • Есть ли способ проверить, программно, сколько оперативной памяти он использует в целом, уже реализованными функциями в универсальном проекте приложения?

  • Есть ли другой способ «разместить грузы» на малине и быть в состоянии измерить, сколько нагрузки вы вынуждаете его работать?

Любые виды помощи очень благодарны, благодарю вас за помощь, направленную на то, чтобы ответить на эти вопросы!

+0

Это легко сделать на C++. –

+0

И как это будет сделано точно? – Hansrutger

ответ

1

Есть ли способ, чтобы проверить, программно, сколько оперативной памяти она использует в общей сложности на уже реализованных функций универсального проекта приложения ?

Там нет прямого API получения общей оперативной памяти в использовании, но вы можете получить доступную оперативную память будет использоваться, в C#, сделать это следующим образом:

[StructLayout(LayoutKind.Sequential)] 
    private class MEMORYSTATUSEX 
    { 
     public uint dwLength; 
     public uint dwMemoryLoad; 
     public ulong ullTotalPhys; 
     public ulong ullAvailPhys; 
     public ulong ullTotalPageFile; 
     public ulong ullAvailPageFile; 
     public ulong ullTotalVirtual; 
     public ulong ullAvailVirtual; 
     public ulong ullAvailExtendedVirtual; 
     public MEMORYSTATUSEX() 
     { 
      this.dwLength = (uint)Marshal.SizeOf(typeof(MEMORYSTATUSEX)); 
     } 
    } 

    [return: MarshalAs(UnmanagedType.Bool)] 
    [DllImport("kernel32.dll", SetLastError = true)] 
    static extern bool GlobalMemoryStatusEx([In, Out] MEMORYSTATUSEX lpBuffer); 

    // Alternate Version Using "ref," And Works With Alternate Code Below. 
    // Also See Alternate Version Of [MEMORYSTATUSEX] Defined As A Structure. 
    [return: MarshalAs(UnmanagedType.Bool)] 
    [DllImport("kernel32.dll", EntryPoint = "GlobalMemoryStatusEx", SetLastError = true)] 
    static extern bool _GlobalMemoryStatusEx(ref MEMORYSTATUSEX lpBuffer); 

    void GetProcessUsage() 
    { 
     MEMORYSTATUSEX data = new MEMORYSTATUSEX(); 

     GlobalMemoryStatusEx(data); 

     System.Diagnostics.Debug.WriteLine(data.ullTotalPageFile + "\t\t" + data.ullAvailPageFile); 
    } 

Есть ли другой способ «разместить грузы» на малине и быть в состоянии измерить, сколько нагрузки вы вынуждаете его работать?

Вы можете попробовать это:

 List<byte[]> list = new List<byte[]>(); 

     while (true) 
     { 
      var buf = new byte[1024 * 1024 * 50]; 
      list.Add(buf); 
      System.Diagnostics.Debug.WriteLine("Allocating memory"); 
      await Task.Delay(1000); 
     } 

памяти можно использовать для приложения является 390MB из Raspberry Pi 3 с 1 Гб оперативной памяти. Для 512 МБ моделей, кажется, 185 МБ. Вы можете использовать Windows.System.MemoryManager.AppMemoryUsageLimit для подтверждения своего устройства.

 Смежные вопросы

  • Нет связанных вопросов^_^