| CPC G06F 3/0611 (2013.01) [G06F 3/0631 (2013.01); G06F 3/0653 (2013.01); G06F 3/067 (2013.01)] | 20 Claims |

|
1. A server, comprising:
at least one local memory;
a network interface configured to communicate with one or more network devices via a network, wherein the one or more network devices provide external shared memory via the network; and
at least one processor configured, individually or in combination, to:
execute one or more memory kernel modules in a kernel space of the at least one local memory, the one or more memory kernel modules configured, individually or in combination, to:
monitor memory usage by different applications executed by the at least one processor, the monitoring of memory usage including determining a frequency of memory access of at least one of the external shared memory and the at least one local memory by one or more applications executed by the at least one processor, and
adjust usage of the at least one local memory and the external shared memory by the different applications executed by the at least one processor based, at least in part, on the monitored memory usage by the different applications executed by the at least one processor, wherein the adjusting of usage includes storing data for the one or more applications in the at least one local memory or in the external shared memory based on the determined frequency of memory access by the one or more applications.
|