Je suppose que la différence réside principalement dans le fait que le noyau du serveur n'est pas préemptif, contrairement au noyau de l'ordinateur de bureau. C'est un peu compliqué :
Préempter, c'est écarter le processus A de l'unité centrale au profit du processus B, en termes simples. Les utilisateurs finaux attendent un système réactif. Par conséquent, un ordinateur de bureau utilisera un noyau préemptif, qui peut favoriser l'interaction avec l'utilisateur au détriment des programmes en cours d'exécution. Cela signifie que le noyau peut "botter" un programme d'arrière-plan, favorisant un programme utilisateur en lui accordant un temps d'exécution sur l'unité centrale, avant même que la tranche de temps du programme d'arrière-plan ne soit terminée et avant que le programme d'arrière-plan ne cède l'unité centrale.
Un serveur, en revanche, est conçu pour exécuter quelques programmes en arrière-plan (comme Apache) et non pour interagir avec un utilisateur. Par conséquent, un serveur utilisera un noyau non préemptif et sera donc optimisé pour l'exécution de programmes en arrière-plan.
Vous pouvez lire un peu plus sur la configuration du noyau Ubuntu aquí . L'article date d'il y a quelques années, mais je suis presque sûr que le bit de préemption est toujours l'une des plus grandes différences entre les noyaux d'Ubuntu pour les ordinateurs de bureau et les serveurs. Une autre différence est le choix de l'ordonnanceur d'E/S : le serveur utilise l'ordonnanceur de délais, l'ordinateur de bureau le CFQ. Il est vrai que j'ai tiré ces informations de l'article en question.
En ce qui concerne le cache du disque, Linux fait du cache. Point final. Linux utilisera volontiers tous de votre RAM en tant que cache disque. Peu importe que vous ayez 512 Mo de RAM ou 1 Go de RAM : Linux l'utilisera s'il le juge nécessaire. À ma connaissance, il n'est pas possible de régler ce problème.
Sachez également qu'il n'y a pas d'inconvénient à cela : au fur et à mesure que vos programmes nécessitent plus de RAM, moins de RAM sera utilisée pour le cache. Le fait que votre VM ne dispose que de 256 Mo et qu'une partie de cette mémoire soit utilisée comme cache n'entravera pas les performances de vos programmes : si les programmes demandent de la RAM, ils l'obtiendront instantanément, au prix d'une diminution de la mémoire cache. C'est une bonne chose TM . Encore une fois, la mémoire utilisée comme cache est toujours disponible pour vos applications. Elle sera récupérée instantanément et donnée à une application gourmande en mémoire si le noyau le juge approprié. L'utilisation d'un autre noyau ne changera rien à cela.