Pamięć RAM przez system jest wykorzystywana nie tylko do przechowywania programów i ich danych, ale także jako pamięć podręczna, duża część pamięci nie wykorzystywanej przez programy zostaje przeznaczona właśnie na pamięć podręczną - potrafi to znacznie przyśpieszyć działanie systemu.
"Wolna pamięć" przez różne programy może być różnie interpretowana, jedne będą wliczać tą pamięć podręczną, a inne nie, właściwie nie powinna ona być brana pod uwagę, ponieważ w każdej chwili może zostać zwolniona. Generalnie "free" odnosi się do wolnej pamięci uwzględniając wykorzystanie na rzec pamięci podręcznej, a "available" nie uwzględniając jej (dlatego available zawsze będzie większe niż free).
System zawsze będzie starał się "mądrze" zarządzać pamięcią i dlatego w pierwszej kolejności będzie starał się przenosić do swapa dane, które aktualnie nie są wykorzystywane (nie są ani odczytywane ani zapisywane), m.in. na rzecz właśnie pamięci podręcznej - dlatego może zaistnieć sytuacja, w której niby jest wolna pamięć RAM (choć rzeczywiście jest wykorzystywana jako pamięć podręczna), a jednak wykorzystywany jest też swap.
Dane z swapa znajdują się na dysku, więc logiczne jest, że odczytywanie ich będzie tak samo czasochłonne jak zwykłe odczytywanie danych z dysku, więc system może zadecydować, że jeśli z tych danych się nie korzysta to zostawi je już w tym swapie i nie będzie ich przenosił do RAMu.
Nie wiem czy screeny robiłeś w tym samym momencie, ale widać w topie, że praktycznie cała pamięć jest wykorzystana, natomiast conky pokazuję wolną pamięć RAM, więc prawdopodobnie nie uwzględnia pamięci podręcznej.
tl;dr - nie masz się czym martwić, system ma prawdopodobnie powód czemu zarządza pamięcią tak, a nie inaczej.
Jeżeli naprawdę chcesz to zmienić to możesz zmienić wartość parametru "swappiness", odpowiada on za tendencję do korzystania z swapa zamiast pamięci. Przyjmuje wartość od 0 do 100, gdzie przy wartości 0 będzie unikał korzystania z swapa tak długo, jak będzie to możliwe. Domyślnie jest ustawione na 60, możesz to sprawdzić za pomocą polecenia
cat /proc/sys/vm/swappiness
jeśli chcesz to zmienić to edytujesz po prostu plik /etc/sysctl.conf i ustawiasz tam parametr vm.swappiness. Jeśli go nie ma to po prostu dodaj go na końcu pliku, np:
vm.swappiness=10